dropped wielded, in use leash should remain in inventory, since it's in-use
wielded, in use leash can't be snatched by whip-wielding monster
when using two weapons at once, whip-wielding monster can target either one
+can't #force floor item while engulfed, levitating, or unskilled riding
Platform- and/or Interface-Specific Fixes
struct obj *box;
boolean destroyit;
{
- box->olocked = 0;
- box->obroken = 1;
- box->lknown = 1;
if (!destroyit) { /* bill for the box but not for its contents */
struct obj *hide_contents = box->cobj;
box->cobj = 0;
costly_alteration(box, COST_BRKLCK);
box->cobj = hide_contents;
+ box->olocked = 0;
+ box->obroken = 1;
+ box->lknown = 1;
} else { /* #force has destroyed this box (at <u.ux,u.uy>) */
struct obj *otmp;
struct monst *shkp = (*u.ushops && costly_spot(u.ux, u.uy)) ?
register int c, picktyp;
char qbuf[QBUFSZ];
+ if (u.uswallow) {
+ You_cant("force anything from inside here.");
+ return 0;
+ }
if (!uwep || /* proper type test */
((uwep->oclass == WEAPON_CLASS || is_weptool(uwep)) ?
(objects[uwep->otyp].oc_skill < P_DAGGER ||
"without a proper" : "with that");
return(0);
}
+ if (!can_reach_floor(TRUE)) {
+ cant_reach_floor(u.ux, u.uy, FALSE, TRUE);
+ return 0;
+ }
picktyp = is_blade(uwep) && !is_pick(uwep);
if(xlock.usedtime && xlock.box && picktyp == xlock.picktyp) {