In tutorial messages about butchering a corpse, give additional info if you're unable to butcher because you're wielding a cursed non-chopping weapon or because you have no chopping weapons.
In the tutorial message about being burdened or having a full pack, mention that you can easily find items you've left on the ground by using the "search stashes" command, and also warn that items left on the ground can be picked up and used by monsters.
When giving detailed info on an examined staircase, mention if the staircase is one that you have not yet passed through.
A new tutorial-end hint about the #crawl IRC channel on freenode.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9798 c06c8d41-db1a-0410-9941-cceddc491573
WXWLZ6GPVBE7EMFUDIEFBLXRB7D7TNQMCZDAB6FGACH5D7FJ2LZQC
HHTFZV7UCVSE332T2FMAS2UHWSP6OZ2PSLEJ7D47QTSBTFTUFTNAC
SRVIJUOE4SDVJJCIOZ3H6X4ZW6GZG6ICDRG5TBICVQHUVSR675NQC
MCBXXIV6GICTZB56APSXMJEI63FVQWVZR3H2DRNMMFDH2XCGK4JAC
Z6XF4AIERIW4U4AR3HU2ILYFZ54IK4K4ORQ6JKCEWRO5LZODWDDAC
77H4BWWPPGLM3PLZH4QTAJRXIZTSDVNCOKZE223I437FN2UJ34RQC
BFCFMN2BXNLXJCYYCL2V2XTDQQNM3PJPSRB6CU76FM3332NC7GMAC
HQTS3VQ6PNUZKHNVEWMML7JNAAAKL4DSW3KFSRCCSLGYTDHZFCCAC
LS5XCCGKQHSJQGWLWLGTP2F5OYWK4ND5AQQAGRN6H2HVBSXNCCZAC
7NDXS36TE7QVXTXJWMYSVG5UHCCLPIO4VL6NXFGTDK3ZNKE3A2IAC
QXD3HX6QQ37PW6HVKIIKGFLO2ACROLUGKK66KFX7ED6SO4FDXB2AC
W54GZBNFKPOF6DTOVK73PVASTQI5DXG42WQ6CXFDPXHFZOHUVVSQC
TZ2SH2SPO5TFSFL2OCV5A32P2X4CRHEKEK7ENUFCBVF3RKUWAD4AC
ESWIM76FGJL4QFLSHU6AC4D74PT7OPLQ7ZCJYWLZS5UCBAJDXYHAC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
if (!wpn || wpn->base_type != OBJ_WEAPONS)
return false;
return (item_cursed(*wpn) && !can_cut_meat(*wpn));
}
static int _num_butchery_tools()
{
int num = 0;
for (int i = 0; i < ENDOFPACK; ++i)
{
const item_def& tool(you.inv[i]);
if (is_valid_item( tool )
&& tool.base_type == OBJ_WEAPONS
&& can_cut_meat( tool ))
{
num++;
}
}
return (num);
}
"can <w>c</w>hop it up with a sharp implement. Once "
"hungry you can then <w>e</w>at the resulting chunks "
"can <w>c</w>hop it up with a sharp implement";
if (_cant_butcher())
text << " (though unfortunately you can't do that right now, "
"since the cursed weapon you're wielding can't slice up "
"meat, and you can't let go of it to wield one that "
"can)";
else if (_num_butchery_tools() == 0)
text << " (but you currently possess nothing which can do this, "
"so you should pick up the first knife, dagger, sword "
"or axe you find)";
text << ". Once hungry you can then <w>e</w>at the resulting chunks "
"of remove curse. Weapons and armour can also be uncursed "
"using the appropriate enchantment scrolls.";
"of remove curse (though if you're wielding a cursed "
"non-slicing weapon you'll be unable to <w>c</w>hop up "
"corpses into chunks). Weapons and armour can also be "
"uncursed using the appropriate enchantment scrolls.";
"with a sharp implement. Your starting weapon will do "
"nicely. Try to dine on chunks in order to save permanent "
"food.";
"with a sharp implement. ";
if (_cant_butcher())
text << "Unfortunately you can't butcher corpses right now, "
"since the cursed weapon you're wielding can't slice up "
"meat, and you can't let go of it to wield one that "
"can.";
else
{
const int num = _num_butchery_tools();
if (num == 0)
text << "However, you currently possess no sharp implements, "
"so you should pick up the first knife, dagger, sword "
"or axe you find. ";
else if (Options.tutorial_type != TUT_MAGIC_CHAR)
text << "Your starting weapon will do nicely. ";
else if (num == 1)
text << "The slicing weapon you picked up will do nicely. ";
else
text << "One of the slicing weapons you picked up will do "
"nicely. ";
}
text << "Try to dine on chunks in order to save permanent food.";
if (Options.tut_stashes)
{
text << "\n\nYou can easily find items you've left on the floor "
"with the <w>Ctrl-F</w> command, which will let you "
"seach for all known items in the dungeon. For example, "
"<w>Ctrl-F \"knife\"</w> will list all knives. You can "
"canthen travel to one of the spots.";
Options.tut_stashes = false;
}
text << "\n\nBe warned that items that you leave on the floor can "
"be picked up and used by monsters.";
text << "How lucky! That monster left a corpse which you can now "
"<w>c</w>hop up. One or more chunks will appear that you "
text << "How lucky! That monster left a corpse which you can now "
"<w>c</w>hop up";
if (_cant_butcher())
text << "(or which you <w>could</w> chop up if it weren't for "
"the fact that you can't let go of you cursed "
"non-chopping weapon)";
else if (_num_butchery_tools() == 0)
text << "(or which you <w>could</w> chop up if you had a "
"chopping weapon; you should pick up the first knife, "
"dagger, sword or axe you find if you want to be able "
"to chop up corpses)";
text << ". One or more chunks will appear that you "
<< " by <w>c</w>hopping it while <w>p</w>raying.";
<< " by <w>c</w>hopping it while <w>p</w>raying. ";
if (_cant_butcher())
text << "(Or you <w>could</w> sacrifice it if it weren't for "
"the fact that you can't let go of you cursed "
"non-chopping weapon)";
else if (_num_butchery_tools() == 0)
text << "(Or you <w>could</w> sacrifice it if you had a "
"chopping weapon; you should pick up the first knife, "
"dagger, sword or axe you find if you want to be able "
"to chop up corpses)";