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 "chest with a broken lock" and during
- #force" suppress redundant info when lock state is already known
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) {
- There("is %s here%s.", doname(otmp),
- /* The displayed name will have already stated
- * "with a broken lock" 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));
+ if (otmp->obroken || !otmp->olocked) {
+ There("is %s here, but its lock is already %s.", doname(otmp),
+ otmp->obroken ? "broken" : "unlocked");
otmp->lknown = 1;
continue;
}
if (lknown && Is_box(obj)) {
if (obj->obroken)
- /* 3.6.0 used an "unlockable" prefix here but that could be
- misunderstood to mean "capable of being unlocked" rather
- than the intended "not capable of being locked" */
- Strcat(bp, " with a broken lock");
+ /* 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 ");
else if (obj->olocked)
Strcat(prefix, "locked ");
else