-> Beogh worshipper now will fall into water and drown
Fix 1871027: no autosacrifice of restricted items (!p or rune/orb)
Fix 1870495: make RAP_ANGRY actually call go_berserk() from time to time
Fix 1849181: fix mimic description to match item (undetected mimic) or mimic database entry (detected mimic)
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@3272 c06c8d41-db1a-0410-9941-cceddc491573
WXZQJUZXMYS7R6ORNB7DWE5KEUXT262GXWMRPOJYYB4I3BFGYLLAC
RM2JXW3ATVYRYHF3NMG5ALGI64OJ7IP2F3MDUDPUT5TBKSSN4KVQC
2SU35FKBXMKAYJY76OXAC55R6JWTSHQSHBNBR3ICWUQREJME2ZSAC
BQDJAWZJT2CPCAPYUPPGZIJNMZHJFUPEEQDZ6KY4AYW3IA2E37XQC
FD2HXXWW7BLKG7G27VXGP67TXDCODDK3CXFEZOJFXNB7IF2GHKFAC
YMC3RKF4Z7DOHZNGG7INC343SXCTWOPK7ISD42I3WA3AZZNVBGIAC
25CH7HH4LKXFIZ75YNMXS3TSXO6O27DYSOPLOD45K4OCNFWLS4LQC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
EI5XQIKW3OBVTDVT2A4Q535I5FOVEKARLFISM457IHGAK7TVOMVAC
NVD2HSEW2ONWNYDDCTOMZZOUP6NG4DCXI4LNYYIY4BQEBDMJQK5AC
3NFVCXRVGHN2CHLLWFZES5RBS4R2BCDS4EEQNSDCFYIFQWQK7MUQC
WZNB427K3EUNV3FMVXLQTM4UIHER4FIKQXWLUUXRNQC3OQ33VQYAC
E42EFZ3RINKLTGOJJZAH2N5QF3P4S5NCO5T52HLXJRMBPP463HTAC
4O3VTUJT5T7NBNF3Q45XO2WHS6TCJXVLH6CKX4K36WUBDRT5F6KAC
UKN6HTZXDUUOWKNWNKWPHKGUGL474JIAQN5JU3DM3DU26WGMNP4AC
RHRAOBKSM35XB4EELW33PZ6ZJ25Z7R5CVCJVBEEAKCBQR7YK2BBAC
R22TTMI6WXWULC7ODKFF3QCB7MOTETQQ6IR4BUCUPOCQKQNCTT5AC
RYT42Z6CED4KV5CCJ45CHZ3DQGLFMDCVH6CSQZNXOILULDG4MXVQC
SVY2PTCLXR3KNPQAWXVXTTGCC5DR334HOAKHYO3VDDRWM2BWMALAC
X2FMEN4E345XD26Z2X7JMJ7VGHOGCGIELMHQRE2ITLVNQACP3NOQC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
ZCPJIAG7SEY2TUBAGOFWCEJYXSBT36CZU5VO7BWEGSLJ4K24B4TAC
RSIUBEQUGNU4LO6KH4PKVROWQS33DAKSY4XFVGN7T3CEKSXABCSAC
VRFQK6S2TXOFFO5K5HRDXPR7QEKKAZAVCASSIJVPWQ4GE26UOGTQC
QDWDUURSNLMT6AXNNJ3DEQCWAKCAIHV6MP5F7QGIBGXOG2BI2NPQC
7AMQN7MITMXBNVDAK5VOXTQ4TZIAOD6ZLOFJG7GQMBTY23Y2BKSAC
CRX4RG35C3DH57NIXCW4CG4X7SBMSX7TAJR2BAFQ4LQKCLYUNANQC
static bool need_water_walking()
{
return
!player_is_airborne() && you.species != SP_MERFOLK &&
grd[you.x_pos][you.y_pos] == DNGN_DEEP_WATER;
}
if ( is_risky_sacrifice(item) ||
item.inscription.find("=p") != std::string::npos)
{
const std::string msg =
"Really sacrifice " + item.name(DESC_NOCAP_A) + "?";
if (!yesno(msg.c_str()))
{
i = next;
continue;
}
}
return (false);
}
// If you have a randart equipped that has the RAP_ANGRY property
// there's a 1/20 chance of it becoming activated whenever you
// attack a monster. (Same as the berserk mutation at level 1.)
// The probabilites for actually going berserk are cumulative!
static bool equipment_make_berserk()
{
for (int eq = EQ_WEAPON; eq < NUM_EQUIP; eq++)
{
const item_def *item = you.slot_item((equipment_type) eq);
if (!item)
continue;
if (!is_random_artefact(*item))
continue;
if (one_chance_in(20)
&& randart_wpn_property(*item,
static_cast<randart_prop_type>(RAP_ANGRY)))
{
return (true);
}
}
// nothing found
// Now that the player has examined it, he knows it's a mimic.
if (mons_is_mimic(mons.type))
mons.flags |= MF_KNOWN_MIMIC;