diff --git a/CHANGELOG.md b/CHANGELOG.md index 2d15be0167..479eb7aae0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -184,7 +184,8 @@ Up requirements to Django 4.0+, Twisted 22+, Python 3.9 or 3.10 - Contrib `buffs` for managing temporary and permanent RPG status buffs effects (tegiminis) - New `at_server_init()` hook called before all other startup hooks for all startup modes. Used for more generic overriding (volund) - +- New `search` lock type used to completely hide an object from being found by + the `DefaultObject.search` (`caller.search`) method. (CloudKeeper) ## Evennia 0.9.5 diff --git a/docs/source/Components/Locks.md b/docs/source/Components/Locks.md index 7bfc076db3..1981d63f80 100644 --- a/docs/source/Components/Locks.md +++ b/docs/source/Components/Locks.md @@ -105,7 +105,15 @@ something like `call:false()`. - `examine` - who may examine this object's properties. - `delete` - who may delete the object. - `edit` - who may edit properties and attributes of the object. - - `view` - if the `look` command will display/list this object + - `view` - if the `look` command will display/list this object in descriptions + and if you will be able to see its description. Note that if + you target it specifically by name, the system will still find it, just + not be able to look at it. See `search` lock to completely hide the item. + - `search` - this controls if the object can be found with the + `DefaultObject.search` method (usually referred to with `caller.search` + in Commands). This is how to create entirely 'undetectable' in-game objects. + Note that if you are aiming to make some permanently invisible game system, + using a [Script](Scripts) is a better bet. - `get`- who may pick up the object and carry it around. - `puppet` - who may "become" this object and control it as their "character". - `attrcreate` - who may create new attributes on the object (default True)