than WPN_BLESSED_FALCHION etc.)
FR 1928401: for undead attempting to Evoke an amulet of rage, print "cannot raise a blood rage" message right away instead of printing the "too hungry" message when applicable.
FR 1899121: prompt when using stairs that have an exclusion area centered on them.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4492 c06c8d41-db1a-0410-9941-cceddc491573
M27JU3PI7UXV4S4LTHOCGVASHX2RBXL5ZU4MLFWCQCSMGQC53IAAC
HQSI2RK5QGNSOR5Y67GZDK4ZWFZ5DSRPASXAV4VHYVB5TUXFZWJQC
U6ILMKBXTQZYT62IGD2CALYNU4VQGRSTHN6QBFBU7BVUBHWYOEQQC
25CH7HH4LKXFIZ75YNMXS3TSXO6O27DYSOPLOD45K4OCNFWLS4LQC
5BJPWUPLJFS34FUTFJVKA4A52YMIGV6EWDXLNSDCWBJWBGVSQFGQC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
AVCMVFA3MKCXHO6H44UK5KJNIHTGQV7UA7GYXM26VI6TXXU5ZN6QC
6GSGCC5JQJ5NOKX36UHRNOCXNHDBS2A2TDMAR34UBOGWE2DORXIQC
RBAGQ2PB7V5YAM5KSHSZR2E3MLKDSRVM5XYGI2TIXP5QMVBOQHDQC
5BYWI6JJMVTQLCOMPHQNSFC2HW5LYGYFBHBIOU7D4T4B2AIUZV4AC
JCWJWGMQIKQGSSFJUQRKNIWW3HBOJSHYDTOPPE5BWOJTIJTDYUTAC
5ZG33P3GHTV45HM5STF23BNSV7T4Z6MGCLPRGCNHIVCQUTHDPOTQC
KBNY5FWKTEAKABFCLPC3QFKFSVZKAGXINPCIFV6WDSWFO4VCKNTAC
FXVDNB6MAAOSEP37HP7CIPPXNS7FDECN3GCRMT5UFFCKLHIL6IVAC
PQ3SLWFD5CF33ZHBG2V7YJEKAL6HTSDYOV25OKUTBCW2QF7TL4AAC
JM7UAK777RAVDAVLQLEOBRTGNW2B47S5G55XITJXO243IUNZHVYQC
WXSNNK2RXP3DQFAEQGQUZJHFWXJC7ZKG2WURZGL566UDM4YXFSWQC
case WPN_BLESSED_FALCHION:
return TILE_WPN_FALCHION;
case WPN_BLESSED_LONG_SWORD:
return TILE_WPN_LONG_SWORD + etable[1][etype];
case WPN_BLESSED_SCIMITAR:
return TILE_WPN_SCIMITAR + etable[1][etype];
case WPN_BLESSED_KATANA:
return TILE_WPN_KATANA + etable[1][etype];
case WPN_BLESSED_GREAT_SWORD:
return TILE_WPN_GREAT_SWORD + etable[1][etype];
case WPN_BLESSED_DOUBLE_SWORD:
return TILE_WPN_DOUBLE_SWORD;
case WPN_BLESSED_TRIPLE_SWORD:
return TILE_WPN_TRIPLE_SWORD;
crawl_state.level_annotation_shown = false;
bool might_be_dangerous = false;
if (level_annotation_has("!", next_level_id)
&& next_level_id != level_id::current()
&& next_level_id.level_type == LEVEL_DUNGEON)
{
mpr("Warning: level annotation for next level is:", MSGCH_PROMPT);
mpr(get_level_annotation(next_level_id).c_str(), MSGCH_PLAIN, YELLOW);
might_be_dangerous = true;
crawl_state.level_annotation_shown = true;
}
else if (is_exclude_root(pos))
{
mpr("This staircase is marked as excluded!", MSGCH_WARN);
might_be_dangerous = true;
}
if (might_be_dangerous
&& !yesno("Enter next level anyway?", true, 'n', true, false))
{
canned_msg(MSG_OK);
interrupt_activity( AI_FORCE_INTERRUPT );
crawl_state.level_annotation_shown = false;
return false;
}
return true;
}
coord_def pos(you.x_pos, you.y_pos);
level_id next_level_id = level_id::get_next_level_id(pos);
crawl_state.level_annotation_shown = false;
if (level_annotation_has("!", next_level_id)
&& next_level_id != level_id::current()
&& next_level_id.level_type == LEVEL_DUNGEON && !force_stair)
{
mpr("Warning: level annotation for next level is:", MSGCH_PROMPT);
mpr(get_level_annotation(next_level_id).c_str(), MSGCH_PLAIN, YELLOW);
if (!yesno("Enter next level anyway?", true, 0, true, false))
{
interrupt_activity( AI_FORCE_INTERRUPT );
return;
}
crawl_state.level_annotation_shown = true;
}
if (!force_stair && !_check_annotation_exclusion_warning())
return;
coord_def pos = you.pos();
level_id next_level_id = level_id::get_next_level_id(pos);
crawl_state.level_annotation_shown = false;
if (level_annotation_has("!", next_level_id)
&& next_level_id != level_id::current()
&& next_level_id.level_type == LEVEL_DUNGEON && !force_stair)
{
mpr("Warning: level annotation for next level is:", MSGCH_PROMPT);
mpr(get_level_annotation(next_level_id).c_str(), MSGCH_PLAIN, YELLOW);
if (!force_stair && !_check_annotation_exclusion_warning())
return;
if (!yesno("Enter next level anyway?", true, 0, true, false))
{
interrupt_activity( AI_FORCE_INTERRUPT );
return;
}
crawl_state.level_annotation_shown = true;
}
if ((tal.which == ABIL_EVOKE_BERSERK || tal.which == ABIL_TROG_BERSERK)
&& !you.can_go_berserk(true))
{
crawl_state.zero_turns_taken();
return (false);
}