(Incidentally, if you walk into a mimic by accident, the stash won't go away until the next turn. Technically a bug, but a minor one.)
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9118 c06c8d41-db1a-0410-9941-cceddc491573
CAN3KDKD3DGCRPJDHYLEYBRM6PIJOTJXB2VQEWAQGUSQPSZUC47AC
T2G747ISCIN7UU7WFM6TFHNS6ZG2NBZJC5FPKE4XGM2VI6IBVBXQC
VY4CBINP5Z5JSJMIEJ2YYNRVAYN72SCUFZECYMLOZA5IDCABL4DQC
IXWJ54CASZWYHSTDOU3TRQS2DSF4MKBRPO4VZYLE72JL5RD22O2AC
KZMLJTPHO2VSNRKKZ252S7F25KWFIH2WT4JR6GLUJROADBU7WLYAC
K2QJLVIOQESAO25YKU5TZCGWOGA6MX3ZFG7JJX73VQLZXGRGESGQC
OONYLF4DAPLIYLBNNRW74IVT5BBTWI4XHQBXSNSPVRX3FTKJBTRAC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
DGPZZUWTMWADFTFLZ37DHWXXDXMBZHROCFTYL472HI6ETGEK6CBAC
5BJPWUPLJFS34FUTFJVKA4A52YMIGV6EWDXLNSDCWBJWBGVSQFGQC
UWMN4HLG6YA2YFQEVIVMDISD6APKEPIZXMMPMNUYCBQDSAUYSXPQC
SDLKLUNFGVKDS55DDJZCBAVIB7NL3RRYPTACAY65SCUQKV6APFSAC
QDWDUURSNLMT6AXNNJ3DEQCWAKCAIHV6MP5F7QGIBGXOG2BI2NPQC
HIPFIMUOA7DFOFV3DQ55YZJVGNU2GNDYFUCB4MRPUR5DTYDO5YMAC
23I5KJ245D43B6QYWS4TDQYJO2W2PKTDCLFBWPVAFDWS6L7NMGKQC
25CH7HH4LKXFIZ75YNMXS3TSXO6O27DYSOPLOD45K4OCNFWLS4LQC
YMC3RKF4Z7DOHZNGG7INC343SXCTWOPK7ISD42I3WA3AZZNVBGIAC
3SQQ4MM6YO4I37CQ6GIBIX6BXAEVHNVNHPVMR3PPBBNO454D6XWQC
B7WPMRRKAV6AOZXA6F3UAOFCFTAGJAWSPLACLRACVCPQVLXFJ6CQC
3ZG5KLXXSZA4K72X5IZ5GCXVQQGZRQE6MHGTR33R3PZ4RGAVQ5HQC
ILOED4VB4I6VPAUTR75ZWX6MXDYXB5DO2EDK2UH67O3HNKWV23RQC
LDBTCT5WIPLJPZWXS2RUQ26QKISCUUTLO77M464WOE6VSYSNPKYAC
547JREUJXTZNYVGHNNAET5F5O5JYYGNTDQB6ABZNT7YX5EY64OHAC
77H4BWWPPGLM3PLZH4QTAJRXIZTSDVNCOKZE223I437FN2UJ34RQC
ZVG6W2UMHJ3GHLF4ZVCUHZOOEUNJMWPURVBN2OQXKVTXYC4Z2LPQC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
2G7MZ653N3JUHJ4DA5Q7VRO3S5T27DLPKDCJEKB6DGYSTXULUVWAC
UEZHRKVE25KVD6RRO7IFTTDSPKPM74LSC5I7J6O7ASSKDBQZXEGAC
if (player_monster_visible(monster)
&& (!mons_is_mimic(monster->type)
|| mons_is_known_mimic(monster)))
if (mons_is_unknown_mimic(monster))
{
// For unknown mimics, don't mark as seen,
// but do mark it as in view for later messaging.
// FIXME: is this correct?
monster->flags |= MF_WAS_IN_VIEW;
}
else if (player_monster_visible(monster))
}
static bool _grid_has_mimic_item(const coord_def& pos)
{
const monsters *mon = monster_at(pos);
return (mon && mons_is_unknown_mimic(mon));
}
static bool _grid_has_perceived_item(const coord_def& pos)
{
return (igrd(pos) != NON_ITEM || _grid_has_mimic_item(pos));
}
static bool _grid_has_perceived_multiple_items(const coord_def& pos)
{
int count = 0;
if (_grid_has_mimic_item(pos))
++count;
for (stack_iterator si(pos); si && count < 2; ++si)
++count;
return (count > 1);
while (objl != NON_ITEM)
{
if (!is_filtered(mitm[objl]))
add_item(mitm[objl]);
objl = mitm[objl].link;
}
for (stack_iterator si(p); si; ++si)
if (!is_filtered(*si))
add_item(*si);
return const_cast<Stash *>(
const_cast<const LevelStashes *>(this)->find_stash(x, y) );
if (x == -1 || y == -1)
{
x = you.pos().x;
y = you.pos().y;
}
const int abspos = (GXM * y) + x;
stashes_t::iterator st = m_stashes.find(abspos);
return (st == m_stashes.end()? NULL : &st->second);