git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9634 c06c8d41-db1a-0410-9941-cceddc491573
AVEOSLDREJHWFZE6ULAWGQPDT24YX4OAOGL7YAUCFVRGHCS22UCAC FJXN6KNLZG6ASMKP24MKJ7S7T3DMLN5SMSROJ4XIHMR7OW3F5I4AC 7PNN4IJRD3EVIPNSFECQDLU5QXIQHMUHTPMJV6FLHGZMUZPTQN5AC MRVF22XR5QXX34IEKLD5DDBYOO6DVWKG7JIX5LS6O5GLZBS5FKSQC HBZDLHYIRJ3QEU4R6GJEINPVASM7YMVZBFR4QSGECNHVC7D6IVGAC 4M6JJPRNEQZIOYMQI24SLTDL27TRD3HGB344TA2KY7OKJMKBDRXQC TRWX556ZEPTYXCID74I26ZXNKMIJCJJFSPUJ4ZK4Q42ZXMNRU4LQC JEW6ECARJC535IBLAUTKDKRRMRX26MRH3PHR3XWICCCBYWRTWLYAC LG6R5CQGJY6FYJC4F7NY7MJYJMVXDZ4BFZZ6N4P5JA5EOK72JWZQC IFYZSFWJRTV6JM46H6U4CMTQX46VT562EAM64Y6UYU3F6RDWRRYQC 5BJPWUPLJFS34FUTFJVKA4A52YMIGV6EWDXLNSDCWBJWBGVSQFGQC KFULGQQOHWUTXOM3BXCCYPGGVGGY4Z6265XUFRCBPNLTZAEHJZSQC QK7YLIH7SWBSL3OEBQJYVFNTW4XT5FF6U3GPKW7PEGHBLPV3TVQAC A54S2WRWNIV4Y4XB5JHR7NALLB55ZCX3Z5DSGBMAVGVY6I7KY2GAC XYQFJLTMLSU7LC7VODUJVN5F2P47STH2KVSP7Q3BSCUUDRHROW7QC HGVNTG4FUR6CXYG6NFUGEC7LYGHUTJZBVLYOYNDNYKGXDYEIQVEAC A6UODN44DC2XDGU4QNN4KOYKHGXMK4OWGEMINLXTRNQYU3RISOWAC HCVH2CWL32UD66O6Z7ZYDUASWN3RF5TW6FSWURGMD7MELKB772FAC V25XPIUUPVMKRK663D33PWE3GFQR47XZAV642T2NYGRFWZR5LT6AC TPJYUAKSEZMCCCJANJ5EQ7F67QVTPFEOWBD7WYK33NLRN657Y5VQC LEZWYG752CKY6URMLSQTOADDRAJ5NTT7KH7BC5ENGQ55GXKHQMWQC JYEEOUYQ7ZPKOGWUV7VCORBVSOLF2UCBFBH3TR75RGOSS6PNKYUAC 7GCM5WFIKX5N2PQ5UCVNMFJEKTZTBCUVZH5RZ7CPDL3Z6GB26KAQC PUY2VWZJ3G7HNCLIHZP5VGT2DAGHI436ETDJQTPEBFPRSEHOM2NQC 43XCHFXZ34FDVT2QG23RZ65V6NRBY6PE3ENQEEDXFYKRR7IRFHCAC CDEJUVHMOT2SRPKWBB5IUPAXPGX6TUTGRBFLSPTR4XNZABDLSNUQC 5MGUZD2UACJCSG74TEZHI3Z4YL5KL6ZVUCQ3XVZKDOLKM7EMGWJAC RDOOG5LBE5TCTFYCKJIB7TGGTRFX4HBLMJZYXS5TCFWNCU3QII5QC 7WSQG3B2JCG5IV2UXMDFA6PAWJSAXLCOWAM2AP232VKCQTDUIVFQC FS4MVTH4EEEECLEAO2FTNK5CLF2PHFYO2JZHC2YEOKYLWXRDRU6AC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC SA36K3OJ75PNVR2F4QAPNU2LUGFTVHNIAZVSXCBXBT2NLW2RTUPAC 6PAG7GHXHIYXJPPTEK4KZQZT4CL2SJDAGTVIUDB4KK66PVSTWUMAC IGNQ3YSGMW6NG7GPYYXWXW6XPM4YWKNUJ5IU55QCWZ2AEHHO3L3QC YPQ24FG2TT6IX454HDF5QT7P6NKDNIZK4LB4YIJPCLQBMEXMCBBQC SIDH2P7NBIG5KEOE27XHD3ZT2NQ2OJZFN6VZXWNWYFFY5YVXSSVQC QG7MKYZECIRDJJZKVRFI6XTCH42GTKA55BFIWPJBQZ27CZVLUJDQC 2YL37AGHLFOMIF3GCTVQGGV2RNNWETWM6ZMUHO3QEWDVBFFSFAKQC ENOQQ6DEA6ECRNTBGYYNK7G3DFEILMKQBNKP4SUQIZW2L6HWVR7QC UXYQEI6GLKABRWITOJVAFK5QETIMVRRBJO3DCHFUAC5A6YTVI64QC 43ZTEB57FU7KE5EVMYWZONNVJBZCGF3JEAJZIY25LC4LGE65PG5QC X2FMEN4E345XD26Z2X7JMJ7VGHOGCGIELMHQRE2ITLVNQACP3NOQC RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC XZTGZ7MOPX7ZOHQ4IQPXOHGUH5WPRNOYAQ6IQOMZDZYNVSAYFTNAC W4YW6B4WTSMU4E5TXG27A6C2ZH3WASWOKCEMVHP7KEF2CZDLADJAC TXFN7TLLKYEM2W5HVB2UXKXUH7MTXOU77PXBPMP7NJKXSLVX5PMQC C5U3HSOOQ7BKXKXIDS7MLVXUKDTHAWJ5NXNX6YDXTM3GWY5UWX4QC 74LQ7JXVLAFSHLI7LCBKFX47CNTYSKGUQSXNX5FCIUIGCC2JTR3QC X5WLJCJVW55SXZVP7IKP7ADCJIGNKN4PKAXFECVR6TNK7XSMZR7QC RSIUBEQUGNU4LO6KH4PKVROWQS33DAKSY4XFVGN7T3CEKSXABCSAC E5DMZFW6WCFAKTKKOQPYTQXZ2CGLWMVH64LRXDUI2UIG4VYUHIVQC M7WTOF3BVX5MGA7AQZB22YEFWCSL7RLW54PQM3MTRLCKUCUZZEUAC MX2KOWAIE37VLSQJWXVEDVQVB3DL325Q7YFUSSHYMAIH53Y74IJQC 5ZYOO2RVGH53ONV4U5NO6MTINQXET6GV6TETPVCFAVOX44LDNR4QC 32GG34SJYCDQC4CO7FXCFJ6SDARRQ3EEP53XJITL5XBEKED6EAIAC OMTU7OMVWDVAGJCQGQJDZ3YU252T6IM2LPS2ZMPWB7MIXCJK62AQC XJQT4B4TMM6R5AXQZTOQOJV25JXRD5P27OSFXZBFLBV4WUZRSTQAC TTCA2KKE56DAAKEVUGAP7ZRNF5KDLOWRVO37E3D6KDNMLDBVL7MAC NUYXKJP5YXHRDUQW5QW7UC3D5U3VPANIOZAOHFCPWMSRYGMA3GCAC 2OY3EXIBFR22QCCKPZOA37YUI7CX7BEKRRYSDSBDKQN6VTDBD7LAC AYU5OVG2HZO46KDAPKUWAVHS5HTYFKUWIMIRMTHAXVVFEDJE7YPAC X4OCLD5YEXCYVQNMOQORLIO72AKUEMT3BT6FB3TW2HARKN5X7MEQC GPEJOT73KMACP33IPAKFR5ROGHCOIP22VXZMQNYTGLEA2OSZUM2AC SDLKLUNFGVKDS55DDJZCBAVIB7NL3RRYPTACAY65SCUQKV6APFSAC YPL32ZYVNBA2OSLEUGSAGSDJ5U2NKYMUHOL7GYSE2F4FCFZI2PTAC 2H6MSLB3SR42LG524K2QHJVCZ747RHAKI3VHFVTQ2K7X2LSOIEDQC 2ESKXYN266CEMLSL6DNCKG4REDO34FXL4ODVGMWDJTNJRKMXWCRQC SVY2PTCLXR3KNPQAWXVXTTGCC5DR334HOAKHYO3VDDRWM2BWMALAC VCG3BRIYRTNNWYC3LOXD6KFGXOX37HAFW2HNV7WXVG2V7EUHLDZQC 2IK5TBPTDZLN7XTSPNRAC2HQ726L2VXFTLUU2NEZI2PXNUOABFTQC 3D6NWJ44UYHLZMD3BOQIWXJUEGITAVCHK6Z2WWDQONVQC4HSBRXQC FIXUE5QKMQPOFLKMBLNBRJNXG4NDESEFVTJRNCFCXAXDRNHPMTAAC 6O5667Y65C5GTP4V3NBKWUN22IRGCAXEELJ6MCANMYPBOKDUO75QC J6APXOT4QOGQFONWB7G546VTVF6QG42HVOROMHF7YBDJPR4K26OAC 7YUGK5Q64KG5O7GJGTUBRRLHAHBCJ5YOE23YUPT6UBKUSB67CYAQC 3FBKOX4Y5QYPMBOCSAMHNZXCY7Z75YDQDL4EJZHZIGDXL7RMZ7TAC 4GYZYBY7FFORRNPIEFTV4ZM2C7Z6D2KTQOM537ZCC2YBXT2TNSHAC TDAVD56MGLFSMJLPLSYLEVW7MBRMT7V5BNII4TRWVDIHH47CD2OAC UBUOMGDTBC5WVGCZWLPC7JXZRPKNODQODFEPWB5ECSJT5J445JLQC RVST2QHYJ757ZHK4AUJ5NGPDZ44AD6RVFVXYPKQIBJXZBDNUCHXQC // At high tension Xom is more likely to be nice.int tension_bonus = (tension <= 0 ? 0 : random2(tension));
// At high tension Xom is more likely to be nice,// at zero tension the opposite.const int tension_bonus= (tension == -1 ? 0 :tension == 0 ? -std::min(abs(HALF_MAX_PIETY - you.piety)/2,you.piety/10): std::min((MAX_PIETY - you.piety)/2,random2(tension)));
const bool good = you.piety > (MAX_PIETY / 2);int size = abs(you.piety - 100);
const bool good = (you.piety == HALF_MAX_PIETY? coinflip(): you.piety > HALF_MAX_PIETY);int size = abs(you.piety - HALF_MAX_PIETY);// Piety slowly drifts towards the extremes.
int adj_count = 0;for (adjacent_iterator ai(stair_pos); ai; ++ai)if (grid_stair_direction(grd(*ai)) == CMD_NO_CMD&& one_chance_in(++adj_count)){new_pos = *ai;}
// Loop twice through all adjacent grids. In the first round,// only consider grids whose next neighbour in the direction// away from the player is also of type floor. If we didn't// find any matching grid, try again without that restriction.for (int tries = 0; tries < 2; ++tries){int adj_count = 0;for (adjacent_iterator ai(stair_pos); ai; ++ai)if (grd(*ai) == DNGN_FLOOR&& (tries || _valid_floor_grid(*ai + *ai - stair_pos))&& one_chance_in(++adj_count)){new_pos = *ai;}if (!tries && new_pos != stair_pos)break;}
#ifdef NOTE_DEBUG_XOMsnprintf(info, INFO_SIZE, "xom_acts(): reroll piety(1/5), piety: %d",you.piety);take_note(Note(NOTE_MESSAGE, 0, 0, info), true);#endif}else if (was_bored){// If we didn't reroll at least mention the new favour// now it's not "BORING thing" anymore.const std::string new_xom_favour = describe_xom_favour();const std::string msg = "You are now " + new_xom_favour;god_speaks(you.religion, msg.c_str());
{take_note(Note(NOTE_POLY_MONSTER, monster->type, 0,monster->name(DESC_CAP_A, true).c_str()));}
need_note = true;
if (new_name.empty())new_name = monster->full_name(DESC_NOCAP_A);if (need_note|| can_see && you.can_see(monster) && MONST_INTERESTING(monster)){take_note(Note(NOTE_POLY_MONSTER, 0, 0, old_name.c_str(),new_name.c_str()));if (you.can_see(monster))monster->flags |= MF_SEEN;}
// Stationary monsters can't flee.if (mons_is_stationary(mon))
// Stationary monsters can't flee, and berserking monsters// are too enraged.if (mons_is_stationary(mon) || mon->has_ench(ENCH_BERSERK))