in removing several unused functions from the latter file.
Renaming tiles options show_items and title_screen to tile_show_items and tile_title_screen. And as usual, cleaning up tiles code some more.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3876 c06c8d41-db1a-0410-9941-cceddc491573
O6ZMFKDI3XO2SWPNEYHIPYFDWJR4TVDP5BAATK6LVCVETQID6E7AC
ZEEHSUEFFOYCPTG47GVQZ3BGZNEJ6ZRQDTFHGN7QG2Q2I6UJ5BLAC
NP3I4URC7ZLWSOQ3KFSM7Y2LM2K7QRJGNQTOYW3ZF3FATZZJHCVQC
QHRWMYQFJ3Q3FM34HVDEIETLLWDMVBQPDIVHJDF3U7DLNYJAVP2QC
NVJBJYMBL5QMGDAXDYBF5Z63UMPKWX27V6PUSQ7QM6NISI3RCFZQC
C3OUSRCHDUOJ6ELVDX6YWMQQVXDJLNEXTXWCDDAYWTKNPFPNSONAC
NMA2HIGBH56WSZB5KQN2TMFC2BVELZOXJWAKKPOO7ZR6V3Z2ZR2QC
S7DVJRHOA2DESNNM77EJYG3GVVOQW7SUNEXMNOLZRFJERKCPS2OQC
LCCFD6BLLDJO3PVPKKJ7YJ4PQUHLUKQBWRCYRH26UVMOTYZPJQRQC
67WH6I2XIMRRL26UM4FJJJZEMJIDPW5Q77FFNZGKWGTWS7GTCJ6QC
M5JRISNFA35UTUE6EZKABYLNFLD5Y2CM3CEASFEWM4QRNYC3UK3QC
SKV6JBDAWUWTFECFSQARSNA3DDPUFCR7N3T7D5J35NYTEDMXLP3QC
JDZCDMUCQ7VENYVLB62KQWUIRGABID37OKATOKCBUPCDL7W75NPAC
AMBBZGB4EP4MA2ILKQSAY4O2XQAIH673JHCDQ6N4MBGL2MAZGXNAC
DMLFJIPOE4ZXUFQ25VVEZCMURP2UPJBBWDGQS3DPQVUNVBBQ4GDQC
TM35IHKZZNBCMR3ERBS4EYHGUK5IVCPUT2JUITMT74AYAIUZSYFQC
U6ILMKBXTQZYT62IGD2CALYNU4VQGRSTHN6QBFBU7BVUBHWYOEQQC
25CH7HH4LKXFIZ75YNMXS3TSXO6O27DYSOPLOD45K4OCNFWLS4LQC
ZWVXM43CBKDWRFNZ432Z6G6J7DBA2GKRRGCSZQCRQS2M4YX53ETQC
LP5EK64IEM7AHNYQID4GGKOQJQNZLKY4DCCZN47SIUZ6IXAXH5UAC
F7X6HVUKHZXYURABYAZJHRYBV7UZTIPOWJMGCMDK26FQ66WGKFZAC
STQDS62PD6PCLYBAB7LPYTG47WMBJP3FIJL55UHC3XFDPGERC3UQC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
FRLPNEJJAGFWOJ5KJAE4PUQZN3EA4UAFKKUNN2UL5CRWKJRLMMJQC
IHOKNI4O7EEW4UBMKHP6XOZNEIQSW4AYOT4O3JXUIXNNR553IQAQC
ZVJPCEGKZ3MMRTTN563KQOSA7LFVFMMUDVARW2W5YQG6XZB6U7UAC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
SDLKLUNFGVKDS55DDJZCBAVIB7NL3RRYPTACAY65SCUQKV6APFSAC
BDFIS53HAIHOCXQ5BE7WCO2MEOFCUQPFY4JGUWVLWY6JO3IFMEKQC
SGR2P5BGJIJHVSSQYQHWS4ORLVHQBZTDES3D4BFC6SVAQXSKENNQC
EFWEYIB2R3DPD3JWIPU6LS6SFLPMYN7J7X4GBZR7DJWKHJ3UELSAC
HL6BR2XEXRPWBU4MQNI52H65OSJB46KOLC4R3KWNQYDEPPXBAH3AC
4UXFU3FZOCBSLDQ4S7MJKAE2H7VUHCNRDQMIY6NJ3PHYXWNGISDQC
VNIAJEGE3PYE6F6EAMCQDWMAS52EQTKJUPAFXK7ARCITZ326WTTQC
74LQ7JXVLAFSHLI7LCBKFX47CNTYSKGUQSXNX5FCIUIGCC2JTR3QC
77H4BWWPPGLM3PLZH4QTAJRXIZTSDVNCOKZE223I437FN2UJ34RQC
XDJGQNFELURGXMUAOOVALQMSLAJVHMG63KPKVA33HTJFVZROGZ4AC
ESWIM76FGJL4QFLSHU6AC4D74PT7OPLQ7ZCJYWLZS5UCBAJDXYHAC
HZK3YN3SAISTDS5JI4COBYFG7YB4ABDVENXWZZEYLFA2LDI232VAC
5CNYJQGEILRX2TAYBWMVECJ6D4OPV2CD6YPDIERS2SR77Z4LTZPAC
43ZTEB57FU7KE5EVMYWZONNVJBZCGF3JEAJZIY25LC4LGE65PG5QC
DGB7DKTR6OEQEMOOF3MAHDT4PAPKZ54Y33MWYVD7XIOESPFAXHQQC
GT7BSR54BVJKHUCLEBTELGBMNBFFDQW52EVC4XKVEMUVG2UGZMDAC
RISMOCQM6BKK4XSIRKYLOBB2UPDYJNDAL6OGIIR5GGNZQAK5YSZAC
VDNTHQOGDJKBTO7MKRCYH5MCOPCUWHFLPHAWDYDUIV7JKTKENBYQC
4GFCF6N3MZSCHUB77Z3SQYJ3FYR5N3VBW2CGWANLJ74O5FEQH3CQC
5RK245FAGZFCDDYG4AZAXSC7JPVIJG4DSAVAKHWWVBUNGICHYNJQC
2B4AQJIATJ4E7RFN6OTQITZNDBAPQ2VWWXLBCVYSORAFG2GIIDNQC
UKYGZDI6PYZPXDACCQGVPHANUP5ADCSNROOZIE7LYIZQWSNFHJZAC
SIKFXNXSAMU6IYRGDG6SWP3LOX6SEE7PDFA7RVQAGG2SLWQ72D2QC
43BZJ22AMZ4562BBF325ABM5W7GLUT3MDUOHAQ5QJPPQFGTBISKAC
O2GH2BHUL4XXIIJSMKNV2NIC4KQACE6HLMUL4KEUDFNFEAGMZSZAC
BFYHDL4EHSPKKC6EPKDRPESHYAA2WFKC6RXQIRRTSSTF3Z2QPVCAC
GSQ72ULBSL6WBJZUB3GJKAPQDXZIQV7B2TDBA5OP2WVGHVJMCQFQC
ASFH3NFXSJ6AWVLIBJNTIC35HCOSHY42YQG2ELGPEYAULZUIRRRQC
6BO27PEAAOYJEOL5F5RWDMSLU7WUYSKC4LCANVIDMRZRMZWCEYUAC
45QV77UI6QFW4234P365LD3FGJYRVWTT5455DPB324NG2NFQMKTQC
5K2ANIEXD3CPJM4XNKNPZINP2G4NT7SJBKRN62WNBUKJXFERTILQC
CAHE52HL2ZGRJPBYZ3DS4BVKUD2XC7N3SG25TGG7JGHGJDST4P3QC
TV3ZC6WOZKSQQJQN26JIVKCHK6UK7WMDBYZDUYRWEAZ4JB4YVNAAC
IIN7AVA6JYRBXH6ZYRR7BY7TV6PW7ANAQ2A3PD55FKBKKQFEEF2AC
EOMCPVNQLX3IMLC46EAO67DPBH5KEG2FQTPBLGU62HIRWA3UQ7XQC
RREJL4WZKWFEMA62AC5G5UDTOXMW4UULIQXVA5RPFASPODMHQZ7AC
YWYXUCZKGNIAWAUKUESIPFCAL5HZOKOEWHUEUW7X4DMAX2HG2FSAC
UPJVSMMMHGRDUIJG4MZX6IBLQ4ODBF5Z3PF3RHDYTSAEOCVDZM5AC
D77K7ISUWRLGNSQGYH5P2KEJZCNYQHDZC5AMLSKTXVBIRNG6F5KQC
3YK4G4IQBXW63HPGU5WRTV6L2FCMKAK4DOTCHFK2FNSB5B3Y3PVQC
F2ZJ55CL3T66DFM34BQWCJNHIT4XJFCGTWTA5KESV6NHWFLTGUYAC
3D6NWJ44UYHLZMD3BOQIWXJUEGITAVCHK6Z2WWDQONVQC4HSBRXQC
JM6GKZ6VMX6FNVOZIDXIV22HGX7YESMIFZFE6EEQVCMFJIEA3FNAC
EAQJ2VSSFA3MKDR7ELP7M5VHTHGN2DCBPPZHXRAXDRKKAX2R6SHQC
HBHQQDULNVWISJ75XIL6R6BFEDYRNY22NX3ZTFVNP5ZWJGJSKOEQC
OYTCBRC7LE44EUVRZVYTOOVKQWJ6P6YE3FXTOGUTNKEMLNWPHKSQC
BWAQ3FHBBM6G3K3KYP75CRTR343RDQZJRYX5ZGYUEXYBAC3APDLAC
CYAVI4PYWMMKTPYT5N2B3MI4OSHZFLPKOZFSLFJUXRYAACYXWW3AC
7V4DCKFJCNBXFODMKJ6H3MCDUTSD4XVQ7D4D6XFCD4JNF4HCE4KAC
JM7UAK777RAVDAVLQLEOBRTGNW2B47S5G55XITJXO243IUNZHVYQC
CH7JECYYH35H4TRHRNRTRJCQTQLZ2WRH62TKV72SUIU2RTK5OH7AC
TR4NPGNO5QNNRJNVMNSUEO5QLT37HCXXDOBKXCB5XWXRQNAJ5SHAC
JZCODQCOUBBBPPR4TLOAPIB4BQLDY3ORTJXTWEQSUJVJ7DMK7FVAC
Y2VKZYSQXLYYQNB6OSQP44IYLT2M56SE2ZW2MHOAZUODKCVDHEAQC
HYS3HXTXATFPN7GLN3WBGDCP22UT2D3JBVUS7SP5FE7L54TDCJRQC
WCAOZXOYYQBLVRS5FRZTP5ZFOYLQCCPWHGIFM2DLVGHIKVYSQVWQC
ANOEQTM6IGCBTESKKQ5PCBSDTZ7VGRCMDIOAFEH4R7DJHKWKDFAAC
FBK5ECMQ6HJSQSN7C3DICKJIRJ3CSO3CHCQ3ONPBKLLSHDGPBQ7QC
DOZORMA366M4HB5JKSS27BMCR6ET7QNZNND2B7KV3NVEEPR5H7EAC
YCL3W2PFE6ILTGBFODCSXNPDIA46KVSZP2TI7HDMYAOEJT65RIEAC
AVCMVFA3MKCXHO6H44UK5KJNIHTGQV7UA7GYXM26VI6TXXU5ZN6QC
CPGSHENA5WYRZBW6NBZ2MQKNXE4RJS4SR3Q2H5NL5D3DDDRHHVVQC
R325RPUV26YH65VIJKYEFZ2XCVXQHO5N3ELPX6RNQ5TSI3JJNQGQC
JYCMD6WMNHXA53K4LLKVTNX6PLRLU25F6J2TYMPQXM2ENAE66NIAC
LKLHWERPXMDTRNYPEXVDVB6PE7CT5PZ6WMNJJDTBBE5FBHOCEK5AC
FCZSQBKDNMJZRJS2LWQQWLUFGOXSKXDJZQIHC7L5S7HXCXQPOMMAC
BFZZ7DFLZM4WNHQOKWDJENZOLMXH3UPHZ437BMISYJ3VSO2Y57WQC
3EFDG4W2ZURQDU6I3AFVW4ETTD3ZHSCLQ7MOK5FK7VQCDQDUXIGQC
2HNLFROSOZ6ROLX3Q3W5E7I4Y4ELIWSJ7EX5GDGZZOMRPTK6TBSAC
DH3YTI6VVI727SQXO4CXSDCSBG2UN3UAWLFULBGRLBVH22ACRXIAC
3YBQGKQ22WFXA5RXDSKLFWMABLJ6KHBVWEIA3WIDHWM25OECNTYAC
P2YNOE2TUTZFAOBTHJOIVD6TCV7J7D2UKUX67LHZUL6QY44ZMENQC
XUCCWGMXKPIR34BBCCOI67YHI3RST4STDWSDUZTN4B2CJWXQLQ7AC
FVT2J6IVMSQZYKQGUHQVGT4ADYM7AWUQ4U7766GBRRFMSR2WBMLAC
LJK4ZQATLSB4MKZG3ARZX5V6RFGTN3NLCN6GTCUGJQKU26SOXMUAC
CLIEHAE2PP7ZIGLLIMYCWM4FC54KBOAN5AILOLAZJ5S26GTJM4RQC
O4DT3BQQ3XYPL6PQ72G6VPBAVHXZMEOLONFXNHXFMBXBVOYMB6VQC
GBUB77EAYHOFY6GQ5IY3ZSBC7FSQFZZKYNBD5QMCQFIKFLYLWHOQC
475LL4U4ND6PTNV4XKC7WQAOJC7RF2VCCVX3DRILP2PKIBFYWE6QC
CGYTZT5QWIEGYKUOLOK7MFXSLJKLYRZONER5ZCDZO5XYWSLG475QC
RYT42Z6CED4KV5CCJ45CHZ3DQGLFMDCVH6CSQZNXOILULDG4MXVQC
YIIILIV4ZPRIPWWT4GL7YWSJCUVH6RJJLXV4XIHY6SF3H7Y3EAYAC
2TECJQA3PK7OYSSTOWZSQFWMTATJRHHA6JV3IGRHFGS3R7U27RZAC
3WRAJZ5ZLOSIZHFBUH5552QC4F3GAK7AXF6VIQFVN6VY7PUO6HPQC
ZCRK2DJ5VKECRQXZTWT4NUDL2VT5ZHUK7NT6NQPLRJ56TDX5PJSAC
AS2IQQJNNCEQNXXKTGYHLB7RO3ZKCF4F7GK6FJH66BOOKDDRGNIQC
const int region_sx_normal[1]={0};
const int region_sy_normal[1]={0};
const int region_wx_normal[1]={TILE_X};
const int region_wy_normal[1]={TILE_Y};
const int region_sx_normal[1] = {0};
const int region_sy_normal[1] = {0};
const int region_wx_normal[1] = {TILE_X};
const int region_wy_normal[1] = {TILE_Y};
int i;
for (i=0;i<NUM_WEAPONS;i++)
isort_weapon2[isort_weapon[i]] = i;
for (i=0;i<NUM_ARMOURS;i++)
isort_armour2[isort_armour[i]] = i;
for (int i = 0; i < NUM_WEAPONS; i++)
isort_weapon2[isort_weapon[i]] = i;
for (int i = 0; i < NUM_ARMOURS; i++)
isort_armour2[isort_armour[i]] = i;
// item.base_type <-> char conversion table
const static char *obj_syms = ")([/%#?=!#+\\0}x";
const static char *syms_table[] =
{
")\\", // weapons and staves
"(", // missile
"[", // armour
"/", // wands
"%", // foods
"#", // none
"?+", // scrolls and books
"=", // rings/amulets
"!", // potions
"#", // none
"?+", // books/scrolls
")\\", // weapons and staves
"0",
"}",
"x"
};
const char *item_chars = Options.show_items;
// XXX: What does this do?
// tile_draw_inv is only ever called with item_type = -1, flag = REGION_INV1
// (in acr.cc and libgui.cc) --jpeg
if (item_type >= 0)
item_chars = syms_table[item_type];
else if (item_type == -2)
item_chars = obj_syms;
else if (item_type == -3)
item_chars = "."; // floor
const char *item_chars = Options.tile_show_items;
const int cmd_n[9]={'b', 'j', 'n', 'h', '.', 'l', 'y', 'k', 'u'};
const int cmd_s[9]={'B', 'J', 'N', 'H', '5', 'L', 'Y', 'K', 'U'};
const int cmd_n[9] = {'b', 'j', 'n', 'h', '.', 'l', 'y', 'k', 'u'};
const int cmd_s[9] = {'B', 'J', 'N', 'H', '5', 'L', 'Y', 'K', 'U'};
if((mouse_mode==MOUSE_MODE_COMMAND || mouse_mode == MOUSE_MODE_MACRO) &&
(mode == REGION_DNGN || mode == REGION_TDNGN))
if ((mouse_mode == MOUSE_MODE_COMMAND || mouse_mode == MOUSE_MODE_MACRO)
&& (mode == REGION_DNGN || mode == REGION_TDNGN))
static bool invisible_to_player( const item_def& item );
static void item_list_on_square( std::vector<const item_def*>& items,
int obj, bool force_squelch = false );
static void autoinscribe_item( item_def& item );
static void autoinscribe_floor_items();
static void autoinscribe_inventory();
static bool _invisible_to_player( const item_def& item );
static void _item_list_on_square( std::vector<const item_def*>& items,
int obj, bool force_squelch = false );
static void _autoinscribe_item( item_def& item );
static void _autoinscribe_floor_items();
static void _autoinscribe_inventory();
}
void show_items()
{
std::vector<const item_def*> items;
item_list_on_square( items, igrd[you.x_pos][you.y_pos], true );
if ( items.empty() )
mpr("There are no items here.");
else {
select_items( items, "Things that are here:", true );
redraw_screen();
}
describe_floor();
for (int i = 0, count = selected.size(); i < count; ++i) {
for (int j = item_link; j != NON_ITEM; j = mitm[j].link) {
if (&mitm[j] == selected[i].item) {
for (int i = 0, count = selected.size(); i < count; ++i)
{
for (int j = item_link; j != NON_ITEM; j = mitm[j].link)
{
if (&mitm[j] == selected[i].item)
{
static void do_berserk_no_combat_penalty(void);
static bool initialise(void);
static void input(void);
static void move_player(int move_x, int move_y);
static void open_door(int move_x, int move_y, bool check_confused = true);
static void close_door(int move_x, int move_y);
static void start_running( int dir, int mode );
static void _do_berserk_no_combat_penalty(void);
static bool _initialise(void);
static void _input(void);
static void _move_player(int move_x, int move_y);
static void _open_door(int move_x, int move_y, bool check_confused = true);
static void _close_door(int move_x, int move_y);
static void _start_running( int dir, int mode );
static void prep_input();
static void input();
static void world_reacts();
static command_type get_next_cmd();
static keycode_type get_next_keycode();
static command_type keycode_to_command( keycode_type key );
static void setup_cmd_repeat();
static void do_prev_cmd_again();
static void update_replay_state();
static void _prep_input();
static void _world_reacts();
static command_type _get_next_cmd();
static keycode_type _get_next_keycode();
static command_type _keycode_to_command( keycode_type key );
static void _setup_cmd_repeat();
static void _do_prev_cmd_again();
static void _update_replay_state();
static void show_commandline_options_help();
static void wanderer_startup_message();
static void god_greeting_message( bool game_start );
static void take_starting_note();
static void startup_tutorial();
static void _show_commandline_options_help();
static void _wanderer_startup_message();
static void _god_greeting_message( bool game_start );
static void _take_starting_note();
static void _startup_tutorial();
case CMD_OPEN_DOOR_UP_RIGHT: open_door(-1, -1); break;
case CMD_OPEN_DOOR_UP: open_door( 0, -1); break;
case CMD_OPEN_DOOR_UP_LEFT: open_door( 1, -1); break;
case CMD_OPEN_DOOR_RIGHT: open_door( 1, 0); break;
case CMD_OPEN_DOOR_DOWN_RIGHT: open_door( 1, 1); break;
case CMD_OPEN_DOOR_DOWN: open_door( 0, 1); break;
case CMD_OPEN_DOOR_DOWN_LEFT: open_door(-1, 1); break;
case CMD_OPEN_DOOR_LEFT: open_door(-1, 0); break;
case CMD_OPEN_DOOR_UP_RIGHT: _open_door(-1, -1); break;
case CMD_OPEN_DOOR_UP: _open_door( 0, -1); break;
case CMD_OPEN_DOOR_UP_LEFT: _open_door( 1, -1); break;
case CMD_OPEN_DOOR_RIGHT: _open_door( 1, 0); break;
case CMD_OPEN_DOOR_DOWN_RIGHT: _open_door( 1, 1); break;
case CMD_OPEN_DOOR_DOWN: _open_door( 0, 1); break;
case CMD_OPEN_DOOR_DOWN_LEFT: _open_door(-1, 1); break;
case CMD_OPEN_DOOR_LEFT: _open_door(-1, 0); break;
case CMD_MOVE_DOWN_LEFT: move_player(-1, 1); break;
case CMD_MOVE_DOWN: move_player( 0, 1); break;
case CMD_MOVE_UP_RIGHT: move_player( 1, -1); break;
case CMD_MOVE_UP: move_player( 0, -1); break;
case CMD_MOVE_UP_LEFT: move_player(-1, -1); break;
case CMD_MOVE_LEFT: move_player(-1, 0); break;
case CMD_MOVE_DOWN_RIGHT: move_player( 1, 1); break;
case CMD_MOVE_RIGHT: move_player( 1, 0); break;
case CMD_MOVE_DOWN_LEFT: _move_player(-1, 1); break;
case CMD_MOVE_DOWN: _move_player( 0, 1); break;
case CMD_MOVE_UP_RIGHT: _move_player( 1, -1); break;
case CMD_MOVE_UP: _move_player( 0, -1); break;
case CMD_MOVE_UP_LEFT: _move_player(-1, -1); break;
case CMD_MOVE_LEFT: _move_player(-1, 0); break;
case CMD_MOVE_DOWN_RIGHT: _move_player( 1, 1); break;
case CMD_MOVE_RIGHT: _move_player( 1, 0); break;
static bool decrement_a_duration(duration_type dur, const char* endmsg = NULL,
int midpoint = -1, int midloss = 0,
const char* midmsg = NULL,
msg_channel_type chan = MSGCH_DURATION )
static bool _decrement_a_duration(duration_type dur, const char* endmsg = NULL,
int midpoint = -1, int midloss = 0,
const char* midmsg = NULL,
msg_channel_type chan = MSGCH_DURATION )
decrement_a_duration(DUR_REPEL_MISSILES,
"You feel less protected from missiles.",
6, coinflip(),
"Your repel missiles spell is about to expire...");
_decrement_a_duration(DUR_REPEL_MISSILES,
"You feel less protected from missiles.",
6, coinflip(),
"Your repel missiles spell is about to expire...");
decrement_a_duration(DUR_DEFLECT_MISSILES,
"You feel less protected from missiles.",
6, coinflip(),
"Your deflect missiles spell is about to expire...");
_decrement_a_duration(DUR_DEFLECT_MISSILES,
"You feel less protected from missiles.",
6, coinflip(),
"Your deflect missiles spell is about to expire...");
decrement_a_duration(DUR_REGENERATION,
"Your skin stops crawling.",
6, coinflip(),
"Your skin is crawling a little less now.");
_decrement_a_duration(DUR_REGENERATION,
"Your skin stops crawling.",
6, coinflip(),
"Your skin is crawling a little less now.");
decrement_a_duration(DUR_REPEL_UNDEAD,
"Your holy aura fades away.",
4, random2(3),
"Your holy aura is starting to fade.");
decrement_a_duration(DUR_SWIFTNESS,
"You feel sluggish.",
6, coinflip(),
"You start to feel a little slower.");
decrement_a_duration(DUR_INSULATION,
"You feel conductive.",
6, coinflip(),
"You start to feel a little less insulated.");
_decrement_a_duration(DUR_REPEL_UNDEAD,
"Your holy aura fades away.",
4, random2(3),
"Your holy aura is starting to fade.");
_decrement_a_duration(DUR_SWIFTNESS,
"You feel sluggish.",
6, coinflip(),
"You start to feel a little slower.");
_decrement_a_duration(DUR_INSULATION,
"You feel conductive.",
6, coinflip(),
"You start to feel a little less insulated.");
if ( decrement_a_duration(DUR_STONEMAIL,
"Your scaly stone armour disappears.",
6, coinflip(),
"Your scaly stone armour is starting "
"to flake away.") )
if ( _decrement_a_duration(DUR_STONEMAIL,
"Your scaly stone armour disappears.",
6, coinflip(),
"Your scaly stone armour is starting "
"to flake away.") )
decrement_a_duration(DUR_CONTROL_TELEPORT,
"You feel uncertain.",
6, coinflip(),
"You start to feel a little uncertain.");
_decrement_a_duration(DUR_CONTROL_TELEPORT,
"You feel uncertain.",
6, coinflip(),
"You start to feel a little uncertain.");
decrement_a_duration(DUR_DEATH_CHANNEL,
"Your unholy channel expires.",
6, coinflip(),
"Your unholy channel is weakening.");
_decrement_a_duration(DUR_DEATH_CHANNEL,
"Your unholy channel expires.",
6, coinflip(),
"Your unholy channel is weakening.");
decrement_a_duration(DUR_SAGE, "You feel less studious.");
decrement_a_duration(DUR_STEALTH, "You feel less stealthy.");
decrement_a_duration(DUR_RESIST_FIRE, "Your fire resistance expires.");
decrement_a_duration(DUR_RESIST_COLD, "Your cold resistance expires.");
decrement_a_duration(DUR_RESIST_POISON, "Your poison resistance expires.");
decrement_a_duration(DUR_SLAYING, "You feel less lethal.");
_decrement_a_duration(DUR_SAGE, "You feel less studious.");
_decrement_a_duration(DUR_STEALTH, "You feel less stealthy.");
_decrement_a_duration(DUR_RESIST_FIRE, "Your fire resistance expires.");
_decrement_a_duration(DUR_RESIST_COLD, "Your cold resistance expires.");
_decrement_a_duration(DUR_RESIST_POISON, "Your poison resistance expires.");
_decrement_a_duration(DUR_SLAYING, "You feel less lethal.");
decrement_a_duration(DUR_BARGAIN, "You feel less charismatic.");
decrement_a_duration(DUR_CONF, "You feel less confused.");
_decrement_a_duration(DUR_BARGAIN, "You feel less charismatic.");
_decrement_a_duration(DUR_CONF, "You feel less confused.");
if ( decrement_a_duration(DUR_LEVITATION,
"You float gracefully downwards.",
10, random2(6),
"You are starting to lose your buoyancy!") )
if ( _decrement_a_duration(DUR_LEVITATION,
"You float gracefully downwards.",
10, random2(6),
"You are starting to lose your buoyancy!") )