FR 1870139: output "Tele" among enchantment abbrevs when "about to teleport" FR 1834016: print item slots along with rotting message (I added an option for this as I personally don't need this.)
Gods:
Tiles: Bug 1870238: Show mimics to be "autopickuable" (green frame).
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3269 c06c8d41-db1a-0410-9941-cceddc491573
YMC3RKF4Z7DOHZNGG7INC343SXCTWOPK7ISD42I3WA3AZZNVBGIAC
XDJGQNFELURGXMUAOOVALQMSLAJVHMG63KPKVA33HTJFVZROGZ4AC
J3M6J3UPL4AUJDXINY7UKH2JZQVQLKGH7AMOKI6L3QI7Y2F33O5QC
MZLB3Q7G4EC2BR3OFMG55WPHXPFJGQSLWAIHHFJEAEATPUTYR7EAC
WSENSWVHRNAW2NZO3HQLRV3HJKULA4JQHKM65M2NINZSD6NRQAMAC
25CH7HH4LKXFIZ75YNMXS3TSXO6O27DYSOPLOD45K4OCNFWLS4LQC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
CGYTZT5QWIEGYKUOLOK7MFXSLJKLYRZONER5ZCDZO5XYWSLG475QC
FOQJ5S5WR7P7YMEWQ5Q4O7LTGLQ7LFVM4I2SG2Q7MIVC4PB2JHTQC
O2GH2BHUL4XXIIJSMKNV2NIC4KQACE6HLMUL4KEUDFNFEAGMZSZAC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
45QV77UI6QFW4234P365LD3FGJYRVWTT5455DPB324NG2NFQMKTQC
CAHE52HL2ZGRJPBYZ3DS4BVKUD2XC7N3SG25TGG7JGHGJDST4P3QC
7V4DCKFJCNBXFODMKJ6H3MCDUTSD4XVQ7D4D6XFCD4JNF4HCE4KAC
XPCGZBHHSL6MB3ORMUJI64BAERU6AZTIY6RK56BBW7SNB3IK24IAC
3D6NWJ44UYHLZMD3BOQIWXJUEGITAVCHK6Z2WWDQONVQC4HSBRXQC
HIRKGUMNJPWKSVTR6TVBPD3MWNA63CEHCLCIPWEMGDFHVB3NPLDQC
EJEHTLHZ5DL4SJQJBMQL5K3IV2ZMCZQBVCRRERER7SPOMNKFJTVQC
DO7HV6DH42CT3X6QM4ZHOBEIXZ6X2IEGXXHXIBPCCBLRMB47BKBQC
RLN5WLM2K5U6QBIBWBLK5XTDD3MPPXXXOVPUT33JKOQF3PHF6WZQC
L4UCVNVRFTHENDKDOY6X75LXIE2B7XIMSKGVKHBOXNID7RDTBQRAC
WL5WZXFJ6TONUQRSHUY4GQ5USU47ILWNN5X2JDQZO4CRJJZSRQIAC
V6REAY6RCAG2QQ4BO54GHYOVTNCYHTLERJCIZJPSANXFBINZOTXAC
RVST2QHYJ757ZHK4AUJ5NGPDZ44AD6RVFVXYPKQIBJXZBDNUCHXQC
EHSY6DVGUMI6C67WKET3GDJVLWJWGYBYQONNDK5JVT7BCTHBEZVAC
if (menv[idx].type >= MONS_DRACONIAN &&
menv[idx].type <= MONS_DRACONIAN_SCORCHER)
if (menv[idx].type >= MONS_GOLD_MIMIC &&
menv[idx].type <= MONS_POTION_MIMIC)
{
const monsters *mon = &menv[idx];
if (!mons_is_known_mimic(mon))
{
item_def item;
get_mimic_item( mon, item );
if (item_needs_autopickup(item))
{
if (foreground)
env.tile_bg[ep.x-1][ep.y-1] |= TILE_FLAG_CURSOR3;
else
env.tile_bk_bg[gx][gy] |= TILE_FLAG_CURSOR3;
}
}
}
else if (menv[idx].type >= MONS_DRACONIAN &&
menv[idx].type <= MONS_DRACONIAN_SCORCHER)
if (itemlist_iflag[cx] & TILEI_FLAG_EQUIP)
type += 18;
if (itemlist_iflag[cx] & TILEI_FLAG_EQUIP)
{
if (you.equip[EQ_WEAPON] == ix)
{
if (type == OBJ_JEWELLERY || type == OBJ_ARMOUR
|| type == OBJ_WEAPONS || type == OBJ_STAVES)
{
type = OBJ_WEAPONS + 18;
}
}
else
type += 18;
}
switch (type)
{
case OBJ_WEAPONS:
case OBJ_STAVES:
desc += "*(w)ield";
break;
case OBJ_WEAPONS + 18:
case OBJ_STAVES + 18:
desc += "unwield";
break;
case OBJ_MISSILES:
desc += "*(t)hrow";
break;
case OBJ_WANDS:
desc += "*(z)ap";
break;
case OBJ_BOOKS:
if (item_type_known(you.inv[ix])
&& you.inv[ix].sub_type != BOOK_MANUAL
&& you.inv[ix].sub_type != BOOK_DESTRUCTION)
switch (type)
desc += "*(M)emorize";
// first equipable categories
case OBJ_WEAPONS:
case OBJ_STAVES:
desc += "*(w)ield";
break;
case OBJ_WEAPONS + 18:
case OBJ_STAVES + 18:
desc += "unwield";
break;
case OBJ_ARMOUR:
desc += "*(W)ear";
break;
case OBJ_ARMOUR + 18:
desc += "*(T)ake off";
break;
case OBJ_JEWELLERY:
desc += "*(P)ut on";
break;
case OBJ_JEWELLERY + 18:
desc += "*(R)emove";
break;
case OBJ_MISSILES:
desc += "*(t)hrow";
break;
case OBJ_WANDS:
desc += "*(z)ap";
break;
case OBJ_BOOKS:
if (item_type_known(you.inv[ix])
&& you.inv[ix].sub_type != BOOK_MANUAL
&& you.inv[ix].sub_type != BOOK_DESTRUCTION)
{
desc += "*(M)emorize";
break;
}
// else fall-through
case OBJ_SCROLLS:
desc += "*(r)ead";
// else fall-through
case OBJ_SCROLLS:
desc += "*(r)ead";
break;
case OBJ_JEWELLERY:
desc += "*(P)ut on";
break;
case OBJ_JEWELLERY + 18:
desc += "*(R)emove";
break;
case OBJ_POTIONS:
desc += "*(q)uaff";
break;
case OBJ_ARMOUR:
desc += "*(W)ear";
break;
case OBJ_ARMOUR + 18:
desc += "*(T)ake off";
break;
case OBJ_FOOD:
desc += "*(e)at";
break;
case OBJ_CORPSES:
if (you.species == SP_VAMPIRE)
desc += "drink blood";
else // no action possible
desc += EOL;
break;
default:
desc += "*Use it";
if (you.equip[EQ_WEAPON] == idx)
// Note that this is only a problem for equipables
// (otherwise it would only waste a turn)
if (you.equip[EQ_WEAPON] == idx
&& (you.inv[idx].base_type == OBJ_ARMOUR
|| you.inv[idx].base_type == OBJ_JEWELLERY))
bool easy_unequip; // allow auto-removing of armour / jewelry
bool easy_butcher; // open doors with movement
bool easy_unequip; // allow auto-removing of armour / jewellery
bool easy_butcher; // autoswap to butchering tool
const char *how = (you.piety >= 150) ? "carefully" :
(you.piety >= 90) ? "often" :
(you.piety >= 30) ? "sometimes" :
int prayer_prot = 0;
if (you.religion == GOD_ELYVILON && you.piety > 30)
prayer_prot = 100 - 3000/you.piety;
int prot_chance = 10 + you.piety/10 + prayer_prot; // chance * 100
const char *how = (prot_chance >= 85) ? "carefully" :
(prot_chance >= 55) ? "often" :
(prot_chance >= 25) ? "sometimes" :
cprintf("Praying to %s will provide sustenance if starving."
EOL, god_name(which_god).c_str());
if (you.piety >= 30)
cprintf("Praying to %s will provide sustenance if starving."
EOL, god_name(which_god).c_str());
const char *how = (you.piety >= 150) ? "carefully" : // res mut. 3
(you.piety >= 100) ? "often" :
(you.piety >= 50) ? "sometimes" :
"occasionally";
cprintf("%s %s shields you from mutagenic effects." EOL,
god_name(which_god).c_str(), how);
list_rotten = false
Setting this to true will print a list of inventory slots for
all corpses and chunks that have become rotten along with the
rotting message, in the form of
"You smell something rotten. (slots f and m)"
Additionally, this option will make a default message appear
for Trolls, as well.