X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=misc.c;h=d24ed2f9791edb79331f385dd36091761930affe;hb=1f9f39d789aed4daec0f901a84f54abbeb5b6c57;hp=f224d4ce15089d48d82389d210737f98772c3f2b;hpb=02987d0330cf586a90307ad7e8a06cfcde6f6b92;p=open-adventure.git diff --git a/misc.c b/misc.c index f224d4c..d24ed2f 100644 --- a/misc.c +++ b/misc.c @@ -432,7 +432,8 @@ static void get_vocab_metadata(const char* word, vocab_t* id, word_type_t* type) vocab_t ref_num; ref_num = get_motion_vocab_id(word); - if (ref_num != WORD_NOT_FOUND) { + // Second conjunct is because the magic-word placeholder is a bit special + if (ref_num != WORD_NOT_FOUND || ref_num == PART) { *id = ref_num; *type = MOTION; return; @@ -600,7 +601,12 @@ void put(obj_t object, loc_t where, int pval) * negated game.prop values for the repository objects. */ { move(object, where); - game.objects[object].prop = (-1) - pval;; // Needs to stay synchronized with PROP_STASHED + /* (ESR) Read this in combination with the macro defintions in advebt.h. + */ + game.objects[object].prop = PROP_STASHIFY(pval); +#ifdef PROP_SET_SEEN + PROP_SET_SEEN(object); +#endif } void carry(obj_t object, loc_t where)