/* (ESR) In oldstyle mode, simulate the uppercasing and truncating
* effect on raw tokens of packing them into sixbit characters, 5
* to a 32-bit word. This is something the FORTRAN version did
- * becuse archaic FORTRAN had no string types. Don Wood's
+ * because archaic FORTRAN had no string types. Don Wood's
* mechanical translation of 2.5 to C retained the packing and
* thus this misfeature.
*
* negated game.prop values for the repository objects. */
{
move(object, where);
- return STASHED(pval);
+ return (-1) - pval;;
}
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;
}
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.