With version 8.6, the "adventure * defiled nook" command will terminate the script if one you clear it. This is some new code that works with V8.6. It's in ASH, since that's what I prefer to use, but the logic is simple enough to convert to non-ASH if you want.
if (adventure(my_adventures()...