prevent Mjollnir from being auto-quivered if it's been thrown without return
and then picked back up while quiver slot is empty
plural of "fox" is not "foxen"
+change wording from "broken chest" to "lock-damaged chest" and suppress #force
+ ", but its lock is already broken" when lock-damaged was already shown
Platform- and/or Interface-Specific Fixes
xlock.box = (struct obj *) 0;
for (otmp = level.objects[u.ux][u.uy]; otmp; otmp = otmp->nexthere)
if (Is_box(otmp)) {
- if (otmp->obroken || !otmp->olocked) {
- There("is %s here, but its lock is already %s.", doname(otmp),
- otmp->obroken ? "broken" : "unlocked");
+ if (otmp->obroken) {
+ There("is %s here%s.", doname(otmp),
+ /* The displayed name will have already been prefixed
+ * with "lock-damaged" if otmp->lknown is already set
+ * so suppress the additional notification about the
+ * lock in that case. */
+ !otmp->lknown ? ", but its lock is already broken" : "");
+ otmp->lknown = 1;
+ continue;
+ } else if (!otmp->olocked) {
+ There("is %s here, but its lock is already unlocked.",
+ doname(otmp));
otmp->lknown = 1;
continue;
}
/* 3.6.0 used "unlockable" here but that could be misunderstood
to mean "capable of being unlocked" rather than the intended
"not capable of being locked" */
- Strcat(prefix, "broken ");
+ Strcat(prefix, "lock-damaged ");
else if (obj->olocked)
Strcat(prefix, "locked ");
else