X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=misc.c;h=691d771eec7ab79d1d0a399c529a5af02f1a8d36;hb=b7bf85904d00488f6902036d03e9db664b68de89;hp=b2ad68802672a33c6311ddf3d7a68431757a456a;hpb=17782cab6754a39822d36254c6c8daff4d18af6a;p=open-adventure.git diff --git a/misc.c b/misc.c index b2ad688..691d771 100644 --- a/misc.c +++ b/misc.c @@ -602,7 +602,7 @@ loc_t put(obj_t object, loc_t where, int pval) * negated game.prop values for the repository objects. */ { move(object, where); - return STASHED(pval); + return (-1) - pval;; // Needs to stay sinchronized with STASHED } void carry(obj_t object, loc_t where) @@ -617,6 +617,13 @@ void carry(obj_t object, loc_t where) return; game.place[object] = CARRIED; + /* + * Without this conditional your inventory is overcounted + * when you pick up the bird while it's caged. This fixes + * a cosmetic bug in the original. + * + * Possibly this check should be skipped whwn oldstyle is on. + */ if (object != BIRD) ++game.holdng; } @@ -641,7 +648,7 @@ void drop(obj_t object, loc_t where) if (game.place[object] == CARRIED) if (object != BIRD) /* The bird has to be weightless. This ugly hack (and the - * corresponding code in the drop function) brought to you + * corresponding code in the carry function) brought to you * by the fact that when the bird is caged, we need to be able * to either 'take bird' or 'take cage' and have the right thing * happen.