git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9523 c06c8d41-db1a-0410-9941-cceddc491573
SJJMO4TFG3QO46SLHUFSUYXXVZJDULVYTU4RTCM7TQPIGHZTWBDAC F5IBWECAJWVDCUERZTQVISEJ3L7Q3ORMOQSYNALB45YUBQESUWZAC 37KUEOBEFZ3X7Z5YYARYE6L6EEFYIB55VP4ABKYNQF5BJBYK6KCAC 7WSQG3B2JCG5IV2UXMDFA6PAWJSAXLCOWAM2AP232VKCQTDUIVFQC QF5LILALY55UNUHCZE22D6FGPJOJJKNJQFLBMRACMBWJBSO7PMCQC 26TGZ3ARBTOI4GTW4LO7R25QYQP3KDY75D4RFWUUFB3OBWVOIDMQC GP7RUHLNB4KISSZAENEYVNY3MB5YRCFRWRWYAROBZIQ5MR4DXB7QC HCVH2CWL32UD66O6Z7ZYDUASWN3RF5TW6FSWURGMD7MELKB772FAC KFULGQQOHWUTXOM3BXCCYPGGVGGY4Z6265XUFRCBPNLTZAEHJZSQC GYOKKBVTZ6HRW2NYC3EMGSB6ULBX24L5DLDZNEP2F6UTA4KPU3CAC 5BJPWUPLJFS34FUTFJVKA4A52YMIGV6EWDXLNSDCWBJWBGVSQFGQC 5MGUZD2UACJCSG74TEZHI3Z4YL5KL6ZVUCQ3XVZKDOLKM7EMGWJAC RDOOG5LBE5TCTFYCKJIB7TGGTRFX4HBLMJZYXS5TCFWNCU3QII5QC 6YMXFO4BZAMBWHSVWS2FTO2D7EGABBK4NPCSCAN4ELFHEYTWGXVAC 3BYUIM6LIJXLXBFPOHP7GMXZTICP522CRFSVEKUCBOHLRW7XC3KAC EFWEYIB2R3DPD3JWIPU6LS6SFLPMYN7J7X4GBZR7DJWKHJ3UELSAC NYURIMPCM2RADLMIQSN76OPKXQSK4XBLFNXD2OO53KGZI3MA6AQAC DTO3EUKWHZ5RJNGNCFYXSOVTIPVXPP637F2W7WFGYKJ7JK7VNKNQC TZ2SH2SPO5TFSFL2OCV5A32P2X4CRHEKEK7ENUFCBVF3RKUWAD4AC Q3DNEB5OOJ34P5ML4CMK3L6SCP7RLW7DDOZEG24KZBX3C7BJRQDAC M2HMYLYYXSP5XGX6MCI77IT6UW5K4YSEUJWHPQPYXVSW5L36BJ2AC 7YUGK5Q64KG5O7GJGTUBRRLHAHBCJ5YOE23YUPT6UBKUSB67CYAQC Q3XHNSHW6FI4JCXSEABATRFBJPMCF7PXNG2K6ZQTRRPVMIZFHUBQC 2G7MZ653N3JUHJ4DA5Q7VRO3S5T27DLPKDCJEKB6DGYSTXULUVWAC OQ76R2BGEXU64TGDEQF46WVKM3LW5JO67CVITYQSIKE36LQZ725AC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC WDWRHNIIHFS24TXNPNRR43PXFEEJHFPKDURX6IZSW6P25TBMJFXAC VCG3BRIYRTNNWYC3LOXD6KFGXOX37HAFW2HNV7WXVG2V7EUHLDZQC PAYI4UTJCR3XZSFOX5L35EURHRXQ6STO4Z7AQ3525QPNL3QYLNBAC J44YLLLSMPKEY3IXV3CPOM257PQZW45A4QWSSBYVFXS5T5XGQQWAC WXSNNK2RXP3DQFAEQGQUZJHFWXJC7ZKG2WURZGL566UDM4YXFSWQC 7NDXS36TE7QVXTXJWMYSVG5UHCCLPIO4VL6NXFGTDK3ZNKE3A2IAC // Does Xom consider an item boring?static bool _is_boring_item(int type, int sub_type){switch (type){case OBJ_POTIONS:return (sub_type == POT_CURE_MUTATION);case OBJ_SCROLLS:// The corresponding spells are considered "boring", so Xom// shouldn't gift these scrolls either.switch (sub_type){case SCR_DETECT_CURSE:case SCR_REMOVE_CURSE:case SCR_IDENTIFY:case SCR_MAGIC_MAPPING:return (true);default:break;}break;case OBJ_JEWELLERY:return (sub_type == RING_TELEPORT_CONTROL|| sub_type == AMU_RESIST_MUTATION);default:break;}return (false);}
while ( stype == POT_POISON && item_level < 1|| stype == POT_STRONG_POISON && item_level < 11 );
while (stype == POT_POISON && item_level < 1|| stype == POT_STRONG_POISON && item_level < 11|| agent == GOD_XOM && _is_boring_item(OBJ_POTIONS, stype));
if ( stype == POT_GAIN_STRENGTH || stype == POT_GAIN_DEXTERITY|| stype == POT_GAIN_INTELLIGENCE || stype == POT_EXPERIENCE|| stype == POT_MAGIC || stype == POT_RESTORE_ABILITIES )
if (stype == POT_GAIN_STRENGTH || stype == POT_GAIN_DEXTERITY|| stype == POT_GAIN_INTELLIGENCE || stype == POT_EXPERIENCE|| stype == POT_MAGIC || stype == POT_RESTORE_ABILITIES)
// total weight: 10000item.sub_type = random_choose_weighted(1797, SCR_IDENTIFY,1305, SCR_REMOVE_CURSE,802, SCR_TELEPORTATION,642, SCR_DETECT_CURSE,321, SCR_FEAR,321, SCR_NOISE,321, SCR_MAGIC_MAPPING,321, SCR_FOG,321, SCR_RANDOM_USELESSNESS,321, SCR_CURSE_WEAPON,321, SCR_CURSE_ARMOUR,321, SCR_RECHARGING,321, SCR_BLINKING,161, SCR_PAPER,321, SCR_ENCHANT_ARMOUR,321, SCR_ENCHANT_WEAPON_I,321, SCR_ENCHANT_WEAPON_II,
do{// total weight: 10000item.sub_type = random_choose_weighted(1797, SCR_IDENTIFY,1305, SCR_REMOVE_CURSE,802, SCR_TELEPORTATION,642, SCR_DETECT_CURSE,321, SCR_FEAR,321, SCR_NOISE,321, SCR_MAGIC_MAPPING,321, SCR_FOG,321, SCR_RANDOM_USELESSNESS,321, SCR_CURSE_WEAPON,321, SCR_CURSE_ARMOUR,321, SCR_RECHARGING,321, SCR_BLINKING,161, SCR_PAPER,321, SCR_ENCHANT_ARMOUR,321, SCR_ENCHANT_WEAPON_I,321, SCR_ENCHANT_WEAPON_II,
// Medium-level scrolls160, (depth_mod < 4 ? SCR_TELEPORTATION : SCR_ACQUIREMENT),160, (depth_mod < 4 ? SCR_TELEPORTATION : SCR_ENCHANT_WEAPON_III),160, (depth_mod < 4 ? SCR_DETECT_CURSE : SCR_SUMMONING),160, (depth_mod < 4 ? SCR_PAPER : SCR_VULNERABILITY),
// Medium-level scrolls160, (depth_mod < 4 ? SCR_TELEPORTATION : SCR_ACQUIREMENT),160, (depth_mod < 4 ? SCR_TELEPORTATION : SCR_ENCHANT_WEAPON_III),160, (depth_mod < 4 ? SCR_DETECT_CURSE : SCR_SUMMONING),160, (depth_mod < 4 ? SCR_PAPER : SCR_VULNERABILITY),
// High-level scrolls160, (depth_mod < 7 ? SCR_TELEPORTATION : SCR_VORPALISE_WEAPON),160, (depth_mod < 7 ? SCR_DETECT_CURSE : SCR_TORMENT),160, (depth_mod < 7 ? SCR_DETECT_CURSE : SCR_HOLY_WORD),0);
// High-level scrolls160, (depth_mod < 7 ? SCR_TELEPORTATION : SCR_VORPALISE_WEAPON),160, (depth_mod < 7 ? SCR_DETECT_CURSE : SCR_TORMENT),160, (depth_mod < 7 ? SCR_DETECT_CURSE : SCR_HOLY_WORD),0);}while (agent == GOD_XOM && _is_boring_item(OBJ_SCROLLS, item.sub_type));
item.sub_type = (one_chance_in(4) ? get_random_amulet_type(): get_random_ring_type());
do{item.sub_type = (one_chance_in(4) ? get_random_amulet_type(): get_random_ring_type());}while (agent == GOD_XOM&& _is_boring_item(OBJ_JEWELLERY, item.sub_type));