I have been using a test like:
: if (!is_exists "object") {}
quite a bit to test whether an object does not exist, i.e. is not yet in play. However, I have just discovered there is a has_not_created test, so that I can use:
: if (has_not_created "object") {}
I think the latter is better for me most of the time. Am I right to assume that the life cycle of an object that is not placed in a room or your inventory at the beginning of the game is:
- nowhere (has_not_created returns true, is_exists returns false)
- in play, i.e. after object has been created or pocketed (has_not_created returns false, is_exists returns true)
- limbo, i.e. after object has been destroyed (has_not_created returns false, is_exists returns false)