restrict it to about 25, but "The Shining One's" needs 20 letters, so that's out.)
Don't automatically regard unID'd jewellery randarts as {tried}, instead use a (very) rough estimate: if you know at least one property, the item will be marked as tried, otherwise (e.g. if the only property is +Dam, or prevents spellcasting) it won't be marked at all. I'm not actually sure this is better than never outputting {tried} for randarts, but we'll see…
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@4374 c06c8d41-db1a-0410-9941-cceddc491573
SRQJVKQVUY7QGCEBA2VQTWEJ7ADIUSY7L46HJQSQNM5DXYRRH5KAC
OXZLBVHPVGEYTJU5CMHADMP2ZYE2R7HVLHEWWLJO24SAR4JSHSBAC
ASLW3Z5PAVZSWJEMMMVZT226P44EKSAD47QS72JIFJESAI3RPN3AC
S2FTVAH7NLTLI5CEINIAMJIW3PTZUE22APSK633Y4PLDZ4L6UK4QC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
F42F3QNVICCXWPMNYL2QQJZNOVBVF4MXZUXNUC7KKYIRZ7R5HGPAC
SN3VSV7G6NF6NLX5E47QJQQFDIPC2LQUUYGZMH6AWBF3FOUHXCBQC
R22TTMI6WXWULC7ODKFF3QCB7MOTETQQ6IR4BUCUPOCQKQNCTT5AC
IKKMJHAWBTZFUVGXCLQZ46PV5RRAMNJGUWKPJTVXVMMWW5QGWPLAC
EJKHYV2Z6UPRVYUAL4WRW33GBNHYBFPMPA57HMBX2LQKXHIUO5VQC
6FYEYTS5NRD5JAFIBSFHPBCQOKZBMWPWEI26USCI6OBUDGLJQKAAC
LM764EO6YIFOKMRXWZ5S4GYZB4BHZQDTEFP7MEVYO4NN4EDOFGNQC
DT6OBXKHMLODEFK6UOIYCR4EJSVJKGYWCM35BVM5SN55K2736QHQC
UIVESOFZ4C262RYTFHSTFZIYTPTWSRJCFJAOZX7O2PQ35DFRDDEAC
6VIU5UKD5ZWLEF2MEB42NJ3BYQYAJXSGAJXRO2Q4POX4HNRPYGUAC
LDBTCT5WIPLJPZWXS2RUQ26QKISCUUTLO77M464WOE6VSYSNPKYAC
TXVVUZNKI2O5YJXC2N4GPG3RJFNC6LSC5IJZKD5XLS4LGJHD2H7AC
7AWYHENXBDI4OLKU7JD56YAKT5RO6UZ67HEBNPOILXCIFW6BONRAC
5UXWZHJ23JEPCI7QAF3R7JWV37LHH7I2FEWCFD4JPC5HC7YQQJ2AC
SVY2PTCLXR3KNPQAWXVXTTGCC5DR334HOAKHYO3VDDRWM2BWMALAC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
6T6E2JGOAQCQU56ZR6D6BTCQ6PKWLHQUPYVQZI6GRGX2FDDLILFQC
E3X5HVN5UN75OMTJA6JFQBNZ54P37NDZLZZF7EFBZZC45KR73YGAC
2H32CFFM2FNS63JJPNM2S6HMO543EX72GMPOU5GI6HTMQYPL6I3AC
OQ4KB7QCJSK7GSW3DYBARH4DCB75HFKLUSOSOZZZ4IUFKNGFRUDQC
SJP5BHX6MFWF3OSQPEF4WUWZWPUGMOVURTT2CUVT6H3A66LETXUAC
CIPVRZGLOZHCERK6YPOBV3P2E4IAB4H6D5EHLRQE2O5E4P4VCBUAC
5BJPWUPLJFS34FUTFJVKA4A52YMIGV6EWDXLNSDCWBJWBGVSQFGQC
2OQFLBVWCTXCWUPSDM76KNXTNC3YPAKRI5KLDAEU4KQLN4DEOLYQC
HFCPPPYI366EDKNBDGVNSAW76OGQA2NYTKLSP4LC3VYKHPLWFJ6QC
if (god_gift != GOD_NO_GOD && god_gift != GOD_XOM
&& name.find("@player_name@'s", 0) != std::string::npos
&& name.find("Death", 0) != std::string::npos)
if (name.find("@player_death@", 0) != std::string::npos
|| name.find("@player_doom@", 0) != std::string::npos)
// simply overwrite the name with one of type "god's Favour"
name = "of ";
name += god_name(god_gift, false);
name += "'s ";
name += getRandNameString("divine_esteem");
if (god_gift == GOD_NO_GOD || god_gift == GOD_XOM)
{
name = replace_all(name, "@player_death@",
"@player_name@'s "
+ getRandNameString("killer_name"));
name = replace_all(name, "@player_doom@",
"@player_name@'s "
+ getRandNameString("death_or_doom"));
}
else
{
// simply overwrite the name with one of type "god's Favour"
name = "of ";
name += god_name(god_gift, false);
name += "'s ";
name += getRandNameString("divine_esteem");
}
std::string name = getRandNameString(lookup);
int tries = 100;
std::string name = "";
do
{
name = getRandNameString(lookup);
if (name.empty() && god_gift)
{
// if nothing found, try god name alone
name = getRandNameString(
god_name(static_cast<god_type>(item_orig), false));
if (name.empty())
{
// if still nothing found, try base type alone
name = getRandNameString(
get_artefact_type(item.base_type).c_str());
}
}
if (name.empty()) // if still nothing found, try base type alone
name = getRandNameString(get_artefact_type(item.base_type).c_str());
if (name.length() > 30)
{
mprf(MSGCH_DIAGNOSTICS,
"over-long name: %s (length: %d)",
name.c_str(), name.length());
}
// Types of damage a weapon can do... currently assuming that anything
// with BLUDGEON always does "AND" with any other specified types,
// Types of damage a weapon can do... currently assuming that anything
// with BLUDGEON always does "AND" with any other specified types,
if ( !teleport &&
!item_ident(you.inv[throw_2], ISFLAG_KNOW_PLUSES) &&
random2(100) < shoot_skill )
if ( !teleport
&& !item_ident(you.inv[throw_2], ISFLAG_KNOW_PLUSES)
&& random2(100) < shoot_skill )
if ( !teleport &&
!item_ident(you.inv[throw_2], ISFLAG_KNOW_PLUSES) &&
random2(100) < you.skills[SK_THROWING] )
if ( !teleport
&& !item_ident(you.inv[throw_2], ISFLAG_KNOW_PLUSES)
&& random2(100) < you.skills[SK_THROWING] )