X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=misc.c;h=d2d0b8f0aa2b920a2d16c97564f7f782813846d3;hb=c10e9694e3e689204b8352a778ee5a4e29634157;hp=b8bc4613bc313c995ece1af9699636433a434bf9;hpb=eebc87f889b0fa1404684aa6e72dda5a5e53d96b;p=open-adventure.git diff --git a/misc.c b/misc.c index b8bc461..d2d0b8f 100644 --- a/misc.c +++ b/misc.c @@ -432,6 +432,7 @@ 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); + // Second conjunct is because the magic-word placeholder is a bit special if (ref_num != WORD_NOT_FOUND) { *id = ref_num; *type = MOTION; @@ -446,7 +447,7 @@ static void get_vocab_metadata(const char* word, vocab_t* id, word_type_t* type) } ref_num = get_action_vocab_id(word); - if (ref_num != WORD_NOT_FOUND) { + if (ref_num != WORD_NOT_FOUND && ref_num != PART) { *id = ref_num; *type = ACTION; return; @@ -595,12 +596,17 @@ void move(obj_t object, loc_t where) drop(object, where); } -loc_t put(obj_t object, loc_t where, int pval) +void put(obj_t object, loc_t where, int pval) /* put() is the same as move(), except it returns a value used to set up the * negated game.prop values for the repository objects. */ { move(object, where); - return (-1) - pval;; // Needs to stay sinchronized with 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)