items come into view and "greedy_items" stops when autopickup items come into view.
Also added the new explore_stop conditions "glowing_items", "artefacts" and "runes", which stops greedy explore when non-autopickup items which are glowing/rune/etc, artefacts and runes (respectively) come into view.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@5352 c06c8d41-db1a-0410-9941-cceddc491573
ISZGDKDH3FFB42L3VK6IMFP4NE326LBC3NVR5ZUH5YMPBJL6VUZAC
EJRKMYKMOYRQXTWGFTMADEWIGWLMWHMUDA73AUT7HO5OBK2GUQEAC
SDLKLUNFGVKDS55DDJZCBAVIB7NL3RRYPTACAY65SCUQKV6APFSAC
547JREUJXTZNYVGHNNAET5F5O5JYYGNTDQB6ABZNT7YX5EY64OHAC
WJSQFRBUSDKGMQLKIBDVXTWJQHIL45GVBAYXB43AG3NACXYE3BBQC
LDBTCT5WIPLJPZWXS2RUQ26QKISCUUTLO77M464WOE6VSYSNPKYAC
QDWDUURSNLMT6AXNNJ3DEQCWAKCAIHV6MP5F7QGIBGXOG2BI2NPQC
IPXXB4VRVZWOU5DKQ5ZTD37LS3QNK2R6APNZUO672YEEJT6OFAYQC
V26TVLNNESUAUJY24SEXIWRQB7A4JJ6TVQU3JVZV54IEEKCB3WOQC
HIPFIMUOA7DFOFV3DQ55YZJVGNU2GNDYFUCB4MRPUR5DTYDO5YMAC
SSQP7MS6LZYY73QEF66EYNNQJJSB6TVLLWXLWL7JJAYBLXCEY2XAC
GDHH6O4KVTDWSENR573WKVFCRM2L4AVOBRSVPI6F5A2UR7U7SPXAC
GMSGNBZKUJ3DDTOGLQJ3VUBUYIECAW6PDDHYFPGSOHSG2TUUKJRAC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
EHSY6DVGUMI6C67WKET3GDJVLWJWGYBYQONNDK5JVT7BCTHBEZVAC
TMYXSV5SAVYJQZH4KBMYCHZPKSTQIAAEQ6ZI67RYXAXYRBFJKT2QC
RVST2QHYJ757ZHK4AUJ5NGPDZ44AD6RVFVXYPKQIBJXZBDNUCHXQC
WL5WZXFJ6TONUQRSHUY4GQ5USU47ILWNN5X2JDQZO4CRJJZSRQIAC
F2ZJ55CL3T66DFM34BQWCJNHIT4XJFCGTWTA5KESV6NHWFLTGUYAC
ES_NONE = 0x00,
ES_ITEM = 0x01,
ES_PICKUP = 0x02,
ES_GREEDY_PICKUP = 0x04,
ES_GREEDY_ITEM = 0x08,
ES_STAIR = 0x10,
ES_SHOP = 0x20,
ES_ALTAR = 0x40,
ES_PORTAL = 0x80
ES_NONE = 0x000,
ES_ITEM = 0x001,
ES_PICKUP = 0x002,
ES_GREEDY_PICKUP = 0x004,
ES_GREEDY_ITEM = 0x008,
ES_STAIR = 0x010,
ES_SHOP = 0x020,
ES_ALTAR = 0x040,
ES_PORTAL = 0x080,
ES_GLOWING_ITEM = 0x100,
ES_ARTEFACT = 0x200,
ES_RUNE = 0x400
return;
const bool greed_inducing =
_is_greed_inducing_square(current_level, pos);
if (greed_inducing && (Options.explore_stop & ES_GREEDY_ITEM))
; // Stop for this conditions
else if (!greed_inducing
&& ((Options.explore_stop & ES_ITEM)
|| ((Options.explore_stop & ES_GLOWING_ITEM)
&& (i.flags & ISFLAG_COSMETIC_MASK))
|| ((Options.explore_stop & ES_ARTEFACT)
&& (i.flags & ISFLAG_ARTEFACT_MASK))
|| ((Options.explore_stop & ES_RUNE)
&& is_rune(i)) ))
{
; // More conditions to stop for
}
else
return; // No conditions met, don't stop for this item
If you include greedy_items in your explore_stop, greedy
explore will stop and announce items that are eligible for
autopickup (greedy explore otherwise announces only items that
are not eligible for autopickup, since autopickup will produce
its own message and stop greedy explore anyway).
When using non-greedy explore, items causes explore to stop
when any new item comes into view. When using greedy explore,
the conditions act as follows:
items: stop when items that aren't eligible for autopickup come
into view.
greedy_items: stop when items that are eligible for autopickup
come into view.
greedy_pickup: stop when you arrive at a square which contains
an item eligble for autopickup.
glowing_items: like items, but only for items which are
glowing/runed/embroidered/etc.
artefacts: like items, but only for artefacts.
runes: like items, but only for runes.