git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5146 c06c8d41-db1a-0410-9941-cceddc491573
HIPFIMUOA7DFOFV3DQ55YZJVGNU2GNDYFUCB4MRPUR5DTYDO5YMAC HIJA2PEGEFA2BL6CPI6S74CCEQUHZSFYIFQ7VR6NEYGLBPZJ6G2QC 25BU4E7ND5KWNWCNIEOQPI5ITHMRNVQUQNJURBFSEP5FVASYDVQQC PGOFY6C4EVHQAKOGOOYCKIDYTWBKHAX22C4FAKYZN4TD7FMJPLWQC K5V7BNN65MEQBOOOA5XRJO4WJ7RP6TDOTQ7DSTICECW4MM64QRAQC XT2KFG7OWPSVHRMC7N63L34PICCG6JGI3WA2BNX5UKMRUCO6VHCQC GZ4FB5VKL4C22KK3GSKQPLJYMRGLFXUDCOBNEBC2OKK6KVZL3OSQC KEANRIMF5CGFVZ2XJYNFPOAKLXOSOJUOVA73IWBWOG576265ERHAC 627CM2ZOKVBMPVPBYGWBWWPT2FBMVRRH2VDGPT6Z5XCVJ5R4YQWQC OSAAG64ITU6GP25G2CK5TKYNMMAYVTGPZRGVVPQSY6YIGGIEDETAC SDLKLUNFGVKDS55DDJZCBAVIB7NL3RRYPTACAY65SCUQKV6APFSAC RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC 45FTVJJ5FMXBXQ2GVUZVJZU6Y6NUYG2JZIHWVMONA7QYYCZQSM2QC QDWDUURSNLMT6AXNNJ3DEQCWAKCAIHV6MP5F7QGIBGXOG2BI2NPQC DK362IHKSDADMUPD35NOTKM4WESQM37KG2PNOJRV2FGELDWULYPQC LDBTCT5WIPLJPZWXS2RUQ26QKISCUUTLO77M464WOE6VSYSNPKYAC TAHSTXR7ROOMDFUSBUU4ZAIEWQLAS5CIRCTARLD4Q2BGNLSL7E5QC XP3TQISCLEST3ZNTF6OZ6FYMHIIPMVTNVBIIG47LA5PS7J234SQAC GWGKGHFGBLVPDSSDWYFORHZHMWOR3SFC5PJNF732V7FEKWWJKPOAC 547JREUJXTZNYVGHNNAET5F5O5JYYGNTDQB6ABZNT7YX5EY64OHAC 3YK4G4IQBXW63HPGU5WRTV6L2FCMKAK4DOTCHFK2FNSB5B3Y3PVQC RS2Q66UPKG2NLNBE6UMX273UEVNGTNLVEITB2PCRVHZWTS2WXTAQC LLKV4OYGEDB4GVJS5JVBZP5JQFW7VMPZ2CBRSITJ5XCFS3QNWIBQC ILOED4VB4I6VPAUTR75ZWX6MXDYXB5DO2EDK2UH67O3HNKWV23RQC LXLUKS5CKXBUSVV3QTZ4SM7NWSY6JFQEBHUBQW2VUEU5DOL3RRLAC 2WRXQTGYDBLV46WRNVIUKGNA5QS563XZNNW3N2L6PVOCHIP2YGHQC UOW2X5KTUHYCM73SWNOSJPHUKWVLF3OJTNSISSSENEURBX2XWHVQC IPXXB4VRVZWOU5DKQ5ZTD37LS3QNK2R6APNZUO672YEEJT6OFAYQC TJISAZK5RWKXIIC5UTQNY4KT3UX3ASGBUQQNWZ7ZDULPRYFRZXQQC RC6L3CIBLJEH4GWRFD7UQNGI6PZT74FRUVOYHSAN2XCC74NZUASQC H3EEUJYQCVEXQSDP62GBIC47T4BKBAC4Z65HRKGJK2M5MFXZWYOAC F2ZJ55CL3T66DFM34BQWCJNHIT4XJFCGTWTA5KESV6NHWFLTGUYAC BTLE3LHDYNCTGW36TBD7BWLRMGAYNQJ23KVD32ZCRESZEQXEMC2QC SSQP7MS6LZYY73QEF66EYNNQJJSB6TVLLWXLWL7JJAYBLXCEY2XAC C6QWJ7O4HS2IGJZTDQLGFPXPD5OBFS4U364IRZFV7V2LXVPP4DXQC PL6I2CMSTHY5ZHWVMIQE5YTM5S5VPKBNZM6QJVHZSSKOJGIJ5W4AC V26TVLNNESUAUJY24SEXIWRQB7A4JJ6TVQU3JVZV54IEEKCB3WOQC 6HG6JFO47Y3BZLU7Y6G3R2CX6JFGN4X5PKK6S5IGUXUYQ5GVZYFQC ZHFUXYUHS6V47WK2NRH7OU6RX77NRKTXOZC3MND2GG7PEEWSGFTAC 5UVDIVD4NSXA52U4QMQIVST3GSZJ2A2YZK3RUEXKPM43YVQ7LI5AC M47QBURKKRV2JFK6U7GQNVWK7RUTBVPBJ5FHURC55SKQSXAUFSBAC NXIVXEHVXS22UDSQL4KZQ4VHK3XTW7DAGA5LLL3EXY5MHPIUXL7AC 777QS3HZPW7YHEZPCMEOFVMAPW47RHZNUMBKERJEGOTOG4B54CEAC JJULXW764V5C2HJKZNWQAEWB6QM5YZADD7ZCE35LYTBFEM6PMYCAC 2G55UEHQ7554OPNSZVTUCZTWSHIFKGT56QEGSYFKCTX547I4AL3AC RS24ZF3Y47QA2534EHQWZ35O2CI4JUOIVHUPRANCCNLVINSCYFXQC ANBVGN4RZOMY5LI4QSHOV2477FN55H353ZYLSVCPTXC7AWWSQZBAC NJDPIHOREOTAZJXOMZA5QA4TBADDWLFZ25NVAIFDQ7BUBVUWCEEAC XHNJ2W4AQHIF32P2ENIMMDLWAIFWP442KJIZC6RKS4HBJNZIHHBAC G4JT6UMXZW2M4GLNPX7C5NLHZIEJ5KGVHKRAXX7PEZEFVQCGN4DAC T4IH76FA5TWHFOZUJFHLQXQJENJHWTUZZP4EGNA7D4GTZY7D4ZKAC ND6XK6Z4XFRB3L42TK3G34SZQYETLPNVOIKBA65SJMB4FYAGOWPAC Y66ZAXN24E3HLIBOSW4OXUTQ4X4PRGNJII4KVDQH4GQJVA6GO3NAC GQL5SIGBHLU3FMCE54XVGLRY5AZHRM6DUEB722REA2DPLGJSN6EQC 3WRAJZ5ZLOSIZHFBUH5552QC4F3GAK7AXF6VIQFVN6VY7PUO6HPQC WJSQFRBUSDKGMQLKIBDVXTWJQHIL45GVBAYXB43AG3NACXYE3BBQC GMSGNBZKUJ3DDTOGLQJ3VUBUYIECAW6PDDHYFPGSOHSG2TUUKJRAC SVY2PTCLXR3KNPQAWXVXTTGCC5DR334HOAKHYO3VDDRWM2BWMALAC AS2IQQJNNCEQNXXKTGYHLB7RO3ZKCF4F7GK6FJH66BOOKDDRGNIQC LVCBY444HPB4RRFMUAZPHVZ67IC3L6DB27AEMCW3DEXHLBF73TMQC MFONX2CQ4V7HA5NSD6P5NDDBXYDSKIOCYUKRZXJ4ZER2OKJWT2HQC QEEJFAETO6B2J4IWDIDCJ5UNIFNNHHG22IWF2CUJRTJJBNE47CWQC ASLW3Z5PAVZSWJEMMMVZT226P44EKSAD47QS72JIFJESAI3RPN3AC VXSORUQOM2VZA4CAZDC6KPAY373NQIN3UT7CXQXTRCYXO2WM62DAC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC ED62QWGKBPORWVKDFOQRKJXEIWZVNGR3O4KWQBDSRNPT36AYOQYAC KYKFOLADMUWUGJG2YWH2SSQRPRU5VOLSORANZKHDYGJSLIKVAXUQC J7KCPTGASQNRAKVKQ5FCXZ75E75PK7I2BB6MFSI3COWU6HRKTWSAC UWMN4HLG6YA2YFQEVIVMDISD6APKEPIZXMMPMNUYCBQDSAUYSXPQC JN4GPMQCXOY5ICTLPLWP6DXBFULN4GMAEK7T4GXTZVIJAUUKBBYAC VNIAJEGE3PYE6F6EAMCQDWMAS52EQTKJUPAFXK7ARCITZ326WTTQC LFBNFE3PZBXTR2ROPKYPARUWLJAYWAKGTS7VBWADZWVVSJ5CLX6AC static command_type trans_negotiate_stairs();static bool find_transtravel_square(const level_pos &pos,bool verbose = true);
static command_type _trans_negotiate_stairs();static bool _find_transtravel_square(const level_pos &pos,bool verbose = true);
static bool loadlev_populate_stair_distances(const level_pos &target);static void populate_stair_distances(const level_pos &target);static bool is_greed_inducing_square(const LevelStashes *ls,const coord_def &c);
static bool _loadlev_populate_stair_distances(const level_pos &target);static void _populate_stair_distances(const level_pos &target);static bool _is_greed_inducing_square(const LevelStashes *ls,const coord_def &c);
return runmode == RMODE_TRAVEL? "travel" :runmode == RMODE_INTERLEVEL? "intertravel" :runmode == RMODE_EXPLORE? "explore" :runmode == RMODE_EXPLORE_GREEDY? "explore_greedy" :runmode > 0? "run" :"";
return (runmode == RMODE_TRAVEL ? "travel" :runmode == RMODE_INTERLEVEL ? "intertravel" :runmode == RMODE_EXPLORE ? "explore" :runmode == RMODE_EXPLORE_GREEDY ? "explore_greedy" :runmode > 0 ? "run": "");
set_pass_feature(DNGN_DEEP_WATER, IMPASSABLE);set_pass_feature(DNGN_LAVA, IMPASSABLE);set_pass_feature(DNGN_TRAP_MECHANICAL, IMPASSABLE);
_set_pass_feature(DNGN_DEEP_WATER, IMPASSABLE);_set_pass_feature(DNGN_LAVA, IMPASSABLE);_set_pass_feature(DNGN_TRAP_MECHANICAL, IMPASSABLE);
|| gridc == DNGN_ENTER_ABYSS|| gridc == DNGN_ENTER_LABYRINTH|| gridc == DNGN_ENTER_PANDEMONIUM|| gridc == DNGN_EXIT_PANDEMONIUM|| gridc == DNGN_TRANSIT_PANDEMONIUM);
|| gridc == DNGN_ENTER_ABYSS|| gridc == DNGN_ENTER_LABYRINTH|| gridc == DNGN_ENTER_PANDEMONIUM|| gridc == DNGN_EXIT_PANDEMONIUM|| gridc == DNGN_TRANSIT_PANDEMONIUM);
{check_interesting_square(x, y, discoveries);}
_check_interesting_square(x, y, discoveries);
if (branch == BRANCH_MAIN_DUNGEON &&(player_in_branch( BRANCH_VESTIBULE_OF_HELL ) ||player_in_branch( BRANCH_COCYTUS ) ||player_in_branch( BRANCH_TARTARUS ) ||player_in_branch( BRANCH_DIS ) ||player_in_branch( BRANCH_GEHENNA )))
if (branch == BRANCH_MAIN_DUNGEON&& (player_in_branch(BRANCH_VESTIBULE_OF_HELL)|| player_in_branch(BRANCH_COCYTUS)|| player_in_branch(BRANCH_TARTARUS)|| player_in_branch(BRANCH_DIS)|| player_in_branch(BRANCH_GEHENNA))){
static int find_transtravel_stair( const level_id &cur,const level_pos &target,int distance,// This is actually the current position on cur,// not necessarily a stair.const coord_def &stair,level_id &closest_level,int &best_level_distance,coord_def &best_stair,const bool target_has_excludes )
static int _find_transtravel_stair( const level_id &cur,const level_pos &target,int distance,// This is actually the current position// on cur, not necessarily a stair.const coord_def &stair,level_id &closest_level,int &best_level_distance,coord_def &best_stair,const bool target_has_excludes )
find_transtravel_stair(dest.id, target,dist2stair, dest.pos, closest_level,best_level_distance, best_stair,target_has_excludes);if (newdist != -1 &&(local_distance == -1 || local_distance > newdist))
_find_transtravel_stair(dest.id, target,dist2stair, dest.pos, closest_level,best_level_distance, best_stair,target_has_excludes);if (newdist != -1&& (local_distance == -1 || local_distance > newdist))
find_transtravel_stair(current, target,0, cur_stair, closest_level,best_level_distance, best_stair,!target_level.get_excludes().empty());
_find_transtravel_stair(current, target,0, cur_stair, closest_level,best_level_distance, best_stair,!target_level.get_excludes().empty());
&& (current_dist == -1 || best_level_distance < current_dist))return find_transtravel_square(newlev, verbose);
&& (current_dist == -1 || best_level_distance < current_dist)){return _find_transtravel_square(newlev, verbose);}
std::string branch =cpos != std::string::npos? s.substr(0, cpos) : s;std::string depth =cpos != std::string::npos? s.substr(cpos + 1) : "";
std::string branch = (cpos != std::string::npos? s.substr(0, cpos) : s);std::string depth = (cpos != std::string::npos? s.substr(cpos + 1) : "");
returnmake_stringf(" (-> %s@(%d,%d)%s%s)", lp.id.describe().c_str(),lp.pos.x, lp.pos.y,guessed_pos? " guess" : "",type == PLACEHOLDER? " placeholder" : "");
return make_stringf( " (-> %s@(%d,%d)%s%s)", lp.id.describe().c_str(),lp.pos.x, lp.pos.y,guessed_pos? " guess" : "",type == PLACEHOLDER? " placeholder" : "" );
if (id.branch == BRANCH_MAIN_DUNGEON &&si.destination.id.branch == BRANCH_VESTIBULE_OF_HELL &&!travel_hell_entry.is_valid() &&si.destination.is_valid())
if (id.branch == BRANCH_MAIN_DUNGEON&& si.destination.id.branch == BRANCH_VESTIBULE_OF_HELL&& !travel_hell_entry.is_valid()&& si.destination.is_valid()){
return ((id.level_type == LEVEL_DUNGEON && can_travel_interlevel())|| (id.level_type == you.level_type && player_in_mappable_area()));
return (id.level_type == LEVEL_DUNGEON && can_travel_interlevel()|| id.level_type == you.level_type && player_in_mappable_area());
return grid == DNGN_DEEP_WATER? "You hear a splash.": grid == DNGN_LAVA ? "You hear a sizzling splash.": "You hear a crunching noise.";
return (grid == DNGN_DEEP_WATER ? "You hear a splash." :grid == DNGN_LAVA ? "You hear a sizzling splash.": "You hear a crunching noise.");