menu_colour_prefix_id, if set to true, causes the identification state of an object to be prefixed to the string menu colour regexes are matched against (but does not alter the string displayed on the screen).
menu_colour_prefix_class, if set to true, prefixes the object's base type to the string menu colour regexes are matched against.
user_note_prefix can be set to a string which will be prefixed to manual user notes when they are displayed, to make them easier to find.
detailed_hunger, if set to true, will cause three new informational-only hunger states to be displayed: near starving, very hungry and very full.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@2121 c06c8d41-db1a-0410-9941-cceddc491573
3D6NWJ44UYHLZMD3BOQIWXJUEGITAVCHK6Z2WWDQONVQC4HSBRXQC
E6JXIMRH2TX5WHZ6BT2QZ3EANM3PWCHCVYC4XWRJGRBDSP42X2RAC
7V4DCKFJCNBXFODMKJ6H3MCDUTSD4XVQ7D4D6XFCD4JNF4HCE4KAC
6BO27PEAAOYJEOL5F5RWDMSLU7WUYSKC4LCANVIDMRZRMZWCEYUAC
DOZORMA366M4HB5JKSS27BMCR6ET7QNZNND2B7KV3NVEEPR5H7EAC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
CIPVRZGLOZHCERK6YPOBV3P2E4IAB4H6D5EHLRQE2O5E4P4VCBUAC
SDLKLUNFGVKDS55DDJZCBAVIB7NL3RRYPTACAY65SCUQKV6APFSAC
43ZTEB57FU7KE5EVMYWZONNVJBZCGF3JEAJZIY25LC4LGE65PG5QC
X2FMEN4E345XD26Z2X7JMJ7VGHOGCGIELMHQRE2ITLVNQACP3NOQC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
5ASC3STDYCNLZFEBN6UTMUCGDETHBR2OCBZCF5VIAZ5RRWLOTDYQC
SVY2PTCLXR3KNPQAWXVXTTGCC5DR334HOAKHYO3VDDRWM2BWMALAC
BW3XFNOS6LDAQLHOZ6RXARCMKCY5JVLVDSXDSSAX4DSYM3FANQBAC
5RK245FAGZFCDDYG4AZAXSC7JPVIJG4DSAVAKHWWVBUNGICHYNJQC
77H4BWWPPGLM3PLZH4QTAJRXIZTSDVNCOKZE223I437FN2UJ34RQC
XPCGZBHHSL6MB3ORMUJI64BAERU6AZTIY6RK56BBW7SNB3IK24IAC
3YK4G4IQBXW63HPGU5WRTV6L2FCMKAK4DOTCHFK2FNSB5B3Y3PVQC
TJISAZK5RWKXIIC5UTQNY4KT3UX3ASGBUQQNWZ7ZDULPRYFRZXQQC
BWAQ3FHBBM6G3K3KYP75CRTR343RDQZJRYX5ZGYUEXYBAC3APDLAC
XRZPPYWPWUOM4SFNI6BHKH2UKJQNLKOV6Y7XIEPEZXE5QYRT26PAC
P2YNOE2TUTZFAOBTHJOIVD6TCV7J7D2UKUX67LHZUL6QY44ZMENQC
DLVXY6DBP65B3RGWW4PNBEBPBNHNM3LSRYD36F3XDARFY7SPSJYAC
VNIAJEGE3PYE6F6EAMCQDWMAS52EQTKJUPAFXK7ARCITZ326WTTQC
V6REAY6RCAG2QQ4BO54GHYOVTNCYHTLERJCIZJPSANXFBINZOTXAC
RVST2QHYJ757ZHK4AUJ5NGPDZ44AD6RVFVXYPKQIBJXZBDNUCHXQC
EHSY6DVGUMI6C67WKET3GDJVLWJWGYBYQONNDK5JVT7BCTHBEZVAC
D77K7ISUWRLGNSQGYH5P2KEJZCNYQHDZC5AMLSKTXVBIRNG6F5KQC
XYJ5Y635KCRCTL2BFPP53NWQRK3NUHS6T3ARPIXV5A3CHWBW7VCQC
EOMCPVNQLX3IMLC46EAO67DPBH5KEG2FQTPBLGU62HIRWA3UQ7XQC
E5GFDGV5XJVVDZGWFQIIZ47FGGF7AEJLGGBWRUZ34HPLNFJTNLLQC
case HS_ENGORGED:
textcolor( LIGHTGREEN );
cprintf( "Engorged" );
break;
switch (you.hunger_state)
{
case HS_ENGORGED:
textcolor( LIGHTGREEN );
cprintf( "Engorged" );
break;
case HS_VERY_FULL:
textcolor( GREEN );
cprintf( "Very Full" );
break;
case HS_STARVING:
textcolor( RED );
cprintf( "Starving" );
break;
case HS_VERY_HUNGRY:
textcolor( YELLOW );
cprintf( "Very Hungry" );
break;
case HS_NEAR_STARVING:
textcolor( YELLOW );
cprintf( "Near Starving" );
break;
case HS_STARVING:
textcolor( RED );
cprintf( "Starving" );
break;
}
case HS_VERY_FULL:
case HS_FULL:
textcolor( GREEN );
cprintf( "Full" );
break;
case HS_SATIATED:
break;
case HS_HUNGRY:
case HS_VERY_HUNGRY:
case HS_NEAR_STARVING:
textcolor( YELLOW );
cprintf( "Hungry" );
break;
case HS_STARVING:
textcolor( RED );
cprintf( "Starving" );
break;
}
}
const std::string menu_colour_item_prefix(const item_def &item)
{
std::string str = "";
if (Options.menu_colour_prefix_id)
{
if (item_ident(item, ISFLAG_KNOW_TYPE)
|| item.base_type == OBJ_FOOD
|| item.base_type == OBJ_CORPSES)
{
str += "identified ";
}
else
{
if (get_ident_type(item.base_type,
item.sub_type) == ID_KNOWN_TYPE)
{
// Wands are only fully identified if we know the
// number of charges.
if (item.base_type == OBJ_WANDS)
str += "known ";
// Rings are fully identified simply by knowing their
// type, unless the ring has plusses, like a ring of
// dexterity.
else if (item.base_type == OBJ_JEWELLERY
&& !jewellery_is_amulet(item))
{
if (item.plus == 0 && item.plus2 == 0)
str += "identified ";
else
str += "known ";
}
// All other types of magical items are fully identified
// simply by knowing the type
else
str += "identified ";
}
else
str += "unidentified ";
}
}
if (Options.menu_colour_prefix_class)
{
str += item_class_name(item.base_type, true) + " ";
}
return str;
}
if (newstate < HS_SATIATED)
interrupt_activity( AI_HUNGRY );
if (Options.detailed_hunger)
{
if (newstate < HS_SATIATED)
interrupt_activity( AI_HUNGRY );
}
else
{
// Don't interrupt on changing from hungry to very hungry
// or very hungry to near starving if they don't want
// detailed hunger info.
if (newstate == HS_STARVING ||
(newstate < HS_SATIATED && oldstate >= HS_SATIATED))
interrupt_activity( AI_HUNGRY );
switch (you.hunger_state)
if (Options.detailed_hunger)
{
switch (you.hunger_state)
{
case HS_STARVING:
mpr("You are starving!", MSGCH_FOOD);
learned_something_new(TUT_YOU_STARVING);
break;
case HS_HUNGRY:
mpr("You are feeling hungry.", MSGCH_FOOD);
learned_something_new(TUT_YOU_HUNGRY);
break;
case HS_VERY_HUNGRY:
mpr("You are feeling very hungry.", MSGCH_FOOD);
learned_something_new(TUT_YOU_HUNGRY);
break;
case HS_NEAR_STARVING:
mpr("You are near starving.", MSGCH_FOOD);
learned_something_new(TUT_YOU_HUNGRY);
break;
default:
break;
}
}
else
case HS_STARVING:
mpr("You are starving!", MSGCH_FOOD);
learned_something_new(TUT_YOU_STARVING);
break;
case HS_HUNGRY:
mpr("You are feeling hungry.", MSGCH_FOOD);
learned_something_new(TUT_YOU_HUNGRY);
break;
default:
break;
switch (you.hunger_state)
{
case HS_STARVING:
mpr("You are starving!", MSGCH_FOOD);
learned_something_new(TUT_YOU_STARVING);
break;
case HS_HUNGRY:
case HS_VERY_HUNGRY:
case HS_NEAR_STARVING:
mpr("You are feeling hungry.", MSGCH_FOOD);
learned_something_new(TUT_YOU_HUNGRY);
break;
default:
break;
}
# Identified artefacts
menu_colour = white:( [-+] the)
# These lines will colour ego items; they require that
# menu_colour_prefix_id and menu_colour_prefix_class be set to true
# menu_colour = green:(^identified armour .* pair of .* of )
# menu_colour = lightgrey:(^identified armour .* pair of )
# menu_colour = green:(^identified (weapon|armour) .* of )
terse_hand, delay_message_clear, menu_colour, message_colour,
increasing_skill_progress, show_inventory_weights,
show_turns, show_beam, item_stack_summary_minimum
terse_hand, delay_message_clear, menu_colour,
menu_colour_prefix_id, menu_colour_prefix_class
message_colour, increasing_skill_progress,
show_inventory_weights, show_turns, show_beam,
item_stack_summary_minimum
menu_colour_prefix_id = false
Setting this option to true will prefix the string against
which menu_colour regexes are matched (not the string
displayed) with the item's identification state: "unidentified"
for unidentified, "known" for wands for which you know the type
but don't know the number of charges, and for rings with plusses
for which you know the type but don't know the plus value, and
"identified" for other identified items.
Note that the prefix is put before the the *entire* string which
is displayed, so if you're wielding a uncursed dagger which has
the 'a' slot, the string the regexes will match against is
"identified a - an uncursed dagger (weapon)".
menu_colour_prefix_class = false
Setting this option to true will prefix the string against which
menu_colour regexes are matched (not the string displayed) with
the item's object type: armour, weapon, wand, etc. If both
this option and menu_colour_prefix_id are set to true, then
the identification string comes before the object type string
(i.e., "identified weapon", "known wand", etc).
Note that the prefix is put before the the *entire* string which
is displayed, so if you're wielding a uncursed dagger which has
the 'a' slot, the string the regexes will match against is
"weapon a - an uncursed dagger (weapon)".