'A' command wouldn't remove cursed item from quiver or alternate weapon slot
'A' command behaved differently depending on menustyle when non-weapons were
present in the quiver or alternate weapon inventory slots
+most cases of the hero dropping things need to check for dropping on an altar
Platform- and/or Interface-Specific Fixes
char buf[BUFSZ];
if (Glib) {
- dropx(obj);
pline("%s from your %s.", Tobjnam(obj, "slip"),
makeplural(body_part(FINGER)));
+ dropx(obj);
return;
}
if ((obj->cursed || Fumbling) && !rn2(2)) {
check_unpaid(obj);
obj->spe--;
- dropx(obj);
pline("%s from your %s.", Tobjnam(obj, "slip"),
makeplural(body_part(FINGER)));
+ dropx(obj);
return;
}
otmp = getobj(lubricables, "grease");
hitfloor(obj);
return(1);
}
- if (IS_ALTAR(levl[u.ux][u.uy].typ)) {
- doaltarobj(obj); /* set bknown */
- } else
- if(flags.verbose) You("drop %s.", doname(obj));
+ if (!IS_ALTAR(levl[u.ux][u.uy].typ) && flags.verbose)
+ You("drop %s.", doname(obj));
}
dropx(obj);
return(1);
if (obj->oclass == COIN_CLASS) flags.botl = 1;
freeinv(obj);
#endif
- if (!u.uswallow && ship_object(obj, u.ux, u.uy, FALSE)) return;
+ if (!u.uswallow) {
+ if (ship_object(obj, u.ux, u.uy, FALSE)) return;
+ if (IS_ALTAR(levl[u.ux][u.uy].typ))
+ doaltarobj(obj); /* set bknown */
+ }
dropy(obj);
}
You("need hands to be able to write!");
return 0;
} else if (Glib) {
- dropx(pen);
pline("%s from your %s.",
Tobjnam(pen, "slip"), makeplural(body_part(FINGER)));
+ dropx(pen);
return 1;
}