- } else if (with_price) {
- long price = get_cost_of_shop_item(obj);
-
- if (price > 0)
- Sprintf(eos(bp), " (%ld %s)", price, currency(price));
+ } else if (with_price) { /* on floor or in container on floor */
+ int nochrg = 0;
+ long price = get_cost_of_shop_item(obj, &nochrg);
+
+ if (price > 0L)
+#if 0 /*JP:T*/
+ Sprintf(eos(bp), " (%s, %s%ld %s)",
+ nochrg ? "contents" : "for sale",
+ globwt(obj, globbuf, &weightshown),
+ price, currency(price));
+#else
+ Sprintf(eos(bp), " (%s, %s%ld%s)",
+ nochrg ? "\92\86\90g" : "\8f¤\95i",
+ globwt(obj, globbuf, &weightshown),
+ price, currency(price));
+#endif
+ else if (nochrg > 0)
+#if 0 /*JP:T*/
+ Sprintf(eos(bp), " (%sno charge)",
+ globwt(obj, globbuf, &weightshown));
+#else
+ Sprintf(eos(bp), " (%s\96³\97¿)",
+ globwt(obj, globbuf, &weightshown));
+#endif