confirming answer, and add an option trap_prompt that, if set to true (the default) will prompt the player before stepping on known mechanical traps trapwalk.lua considers unsafe.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3611 c06c8d41-db1a-0410-9941-cceddc491573
SKV6JBDAWUWTFECFSQARSNA3DDPUFCR7N3T7D5J35NYTEDMXLP3QC F2ZJ55CL3T66DFM34BQWCJNHIT4XJFCGTWTA5KESV6NHWFLTGUYAC 23I5KJ245D43B6QYWS4TDQYJO2W2PKTDCLFBWPVAFDWS6L7NMGKQC 247OW5JFN34ZV3GRVHRE25AXLLISUBPOX5YRGUE64BCM2V7QNEHAC E3X5HVN5UN75OMTJA6JFQBNZ54P37NDZLZZF7EFBZZC45KR73YGAC RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC 2WRXQTGYDBLV46WRNVIUKGNA5QS563XZNNW3N2L6PVOCHIP2YGHQC SDLKLUNFGVKDS55DDJZCBAVIB7NL3RRYPTACAY65SCUQKV6APFSAC 3V52MSSK7QX7FWLLUW63DTWCBAJEK674EFZLKP45FLZ5KZKVARHAC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC S2LIBA2CLTZ6ZU66AUZ2CCNLCDOBSGWQGTZ6HFAFP2XSWAALGLSQC X7X6JKZXOCG6NVLZLGNCQDFFXW4H3S77BVAJ5LS7ZHZ4GQVLMOMAC MO63IVZZMRHBHHH5BTVC7YHHZ4AZIRJ7BMPPTVBCNJ67TMGJWQUAC FT5TINI5SOYBAVF6UJAAESSTXKTUIPLOSPZOOZY2DOBK5RNM6TKQC 547JREUJXTZNYVGHNNAET5F5O5JYYGNTDQB6ABZNT7YX5EY64OHAC 3YK4G4IQBXW63HPGU5WRTV6L2FCMKAK4DOTCHFK2FNSB5B3Y3PVQC TJISAZK5RWKXIIC5UTQNY4KT3UX3ASGBUQQNWZ7ZDULPRYFRZXQQC 72CQFK27NR37P2WQ32U4PEXXKMRIO7JEMJN2ZCPNVPZMT7UPFJJAC VNIAJEGE3PYE6F6EAMCQDWMAS52EQTKJUPAFXK7ARCITZ326WTTQC RVST2QHYJ757ZHK4AUJ5NGPDZ44AD6RVFVXYPKQIBJXZBDNUCHXQC UF4ODJOCV3ZL7DXRLLOFVWHUKKJX34FO4ZM6VJAWEJ3QVP3XZ2AAC EHSY6DVGUMI6C67WKET3GDJVLWJWGYBYQONNDK5JVT7BCTHBEZVAC std::string prompt = "Really step ";prompt += (trap_type_at_xy(x,y) == TRAP_ALARM ?"onto" : "into");prompt += " that ";prompt += feature_description(new_grid, trap_type_at_xy(x,y),false, DESC_BASENAME, false);prompt += '?';// Zot traps require capital confirmationbool harmless = (trap_type_at_xy(x,y) != TRAP_ZOT);if (!yesno(prompt.c_str(), harmless, 'n'))
if (trap_type_at_xy(x,y) == TRAP_ZOT){mpr("Do you really want to step into the Zot trap? ""(Confirm with \"yes\".) ", MSGCH_PROMPT);char buf[10];if (cancelable_get_line(buf, sizeof buf)|| strcasecmp(buf, "yes")){canned_msg(MSG_OK);you.turn_is_over = false;return (false);}}else#ifdef CLUA_BINDINGS// prompt for any trap where you might not have enough hp// as defined in init.txt (see trapwalk.lua)if (new_grid != DNGN_TRAP_MECHANICAL|| !clua.callbooleanfn(false, "ch_cross_trap","s", trap_name(x, y)))#endif
you.turn_is_over = false;return (false);
std::string prompt = "Really step ";prompt += (trap_type_at_xy(x,y) == TRAP_ALARM ?"onto" : "into");prompt += " that ";prompt += feature_description(new_grid, trap_type_at_xy(x,y),false, DESC_BASENAME, false);prompt += '?';if (!yesno(prompt.c_str(), true, 'n')){canned_msg(MSG_OK);you.turn_is_over = false;return (false);}