return ECMD_OK;
}
}
- if (!wield_tool(obj, "rub"))
+ if (obj != uwep) {
+ if (wield_tool(obj, "rub")) {
+ cmdq_add_ec(dorub);
+ cmdq_add_key(obj->invlet);
+ return ECMD_TIME;
+ }
return ECMD_OK;
+ }
/* now uwep is obj */
if (uwep->otyp == MAGIC_LAMP) {
const char *msg_snap = "Snap!";
if (obj != uwep) {
- if (!wield_tool(obj, "lash"))
- return ECMD_OK;
- res = ECMD_TIME;
+ if (wield_tool(obj, "lash")) {
+ cmdq_add_ec(doapply);
+ cmdq_add_key(obj->invlet);
+ return ECMD_TIME;
+ }
+ return ECMD_OK;
}
if (!getdir((char *) 0))
return (res|ECMD_CANCEL);
return ECMD_OK;
}
if (obj != uwep) {
- if (!wield_tool(obj, "swing"))
- return ECMD_OK;
- res = ECMD_TIME;
+ if (wield_tool(obj, "swing")) {
+ cmdq_add_ec(doapply);
+ cmdq_add_key(obj->invlet);
+ return ECMD_TIME;
+ }
+ return ECMD_OK;
}
/* assert(obj == uwep); */
return ECMD_OK;
}
if (obj != uwep) {
- if (!wield_tool(obj, "cast"))
- return ECMD_OK;
- else
- res = ECMD_TIME;
+ if (wield_tool(obj, "cast")) {
+ cmdq_add_ec(doapply);
+ cmdq_add_key(obj->invlet);
+ return ECMD_TIME;
+ }
+ return ECMD_OK;
}
/* assert(obj == uwep); */
break;
}
pline("Sorry, I don't know how to use that.");
- nomul(0);
- return ECMD_OK;
+ return ECMD_FAIL;
}
if ((res & ECMD_TIME) && obj && obj->oartifact)
arti_speak(obj);
- nomul(0);
return res;
}
/* Check tool */
if (obj != uwep) {
- if (!wield_tool(obj, "swing"))
- return ECMD_OK;
- else
- res = ECMD_TIME;
+ if (wield_tool(obj, "swing")) {
+ /* we're now wielding it. next turn, apply to dig. */
+ cmdq_add_ec(doapply);
+ cmdq_add_key(obj->invlet);
+ return ECMD_TIME;
+ }
+ return ECMD_OK;
}
ispick = is_pick(obj);
verb = ispick ? "dig" : "chop";
swap to it and retry */
cmdq_add_ec(doswapweapon);
cmdq_add_ec(dofire);
- return ECMD_OK;
+ return ECMD_TIME;
} else
You("have no ammunition readied.");
}
/* swap weapons and retry fire */
cmdq_add_ec(doswapweapon);
cmdq_add_ec(dofire);
- return ECMD_OK;
+ return ECMD_TIME;
} else if ((olauncher = find_launcher(obj)) != 0) {
/* wield launcher, retry fire */
if (uwep && !flags.pushweapon)
cmdq_add_ec(dowield);
cmdq_add_key(olauncher->invlet);
cmdq_add_ec(dofire);
- return ECMD_OK;
+ return ECMD_TIME;
}
}