Merge branch 'NetHack-3.7' into to500
This commit is contained in:
+7
-17
@@ -1897,27 +1897,17 @@ struct obj *
|
|||||||
pick_obj(struct obj *otmp)
|
pick_obj(struct obj *otmp)
|
||||||
{
|
{
|
||||||
struct obj *result;
|
struct obj *result;
|
||||||
int ox, oy;
|
coordxy ox, oy;
|
||||||
boolean robshop = FALSE;
|
boolean robshop, fromfloor = otmp->where == OBJ_FLOOR;
|
||||||
|
|
||||||
if (otmp->ox == 0 && otmp->oy == 0) {
|
/* otmp is either on the floor or in an engulfer's inventory; for the
|
||||||
if (u.uswallow && u.ustuck && otmp->where == OBJ_MINVENT
|
latter, its <ox,oy> probably won't be set */
|
||||||
&& otmp->ocarry == u.ustuck) {
|
(void) get_obj_location(otmp, &ox, &oy, 0);
|
||||||
otmp->ox = u.ustuck->mx;
|
|
||||||
otmp->oy = u.ustuck->my;
|
|
||||||
} else {
|
|
||||||
/* this will be a problem for newsym below */
|
|
||||||
impossible("otmp has no location coordinates <%d, %d> where=%d.",
|
|
||||||
otmp->ox, otmp->oy, otmp->where);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ox = otmp->ox;
|
|
||||||
oy = otmp->oy;
|
|
||||||
robshop = (!u.uswallow && otmp != uball && costly_spot(ox, oy));
|
robshop = (!u.uswallow && otmp != uball && costly_spot(ox, oy));
|
||||||
|
|
||||||
obj_extract_self(otmp);
|
obj_extract_self(otmp);
|
||||||
newsym(ox, oy);
|
if (fromfloor)
|
||||||
|
newsym(ox, oy);
|
||||||
|
|
||||||
/* for shop items, addinv() needs to be after addtobill() (so that
|
/* for shop items, addinv() needs to be after addtobill() (so that
|
||||||
object merger can take otmp->unpaid into account) but before
|
object merger can take otmp->unpaid into account) but before
|
||||||
|
|||||||
@@ -3120,17 +3120,17 @@ default_checkinput(
|
|||||||
if (dwWait == WAIT_FAILED)
|
if (dwWait == WAIT_FAILED)
|
||||||
return '\033';
|
return '\033';
|
||||||
#endif
|
#endif
|
||||||
#ifdef INSURANCE
|
|
||||||
if (iflags.idlecheckpoint
|
if (iflags.idlecheckpoint
|
||||||
&& dwWait == WAIT_TIMEOUT && !done_a_checkpoint) {
|
&& dwWait == WAIT_TIMEOUT && !done_a_checkpoint) {
|
||||||
/* no input for 30 seconds, so let's take
|
/* no input for 30 seconds, so let's take
|
||||||
* advantage and do a game checkpoint,
|
* advantage and do a game checkpoint,
|
||||||
* then resume the wait.
|
* then resume the wait.
|
||||||
*/
|
*/
|
||||||
|
#ifdef INSURANCE
|
||||||
save_currentstate();
|
save_currentstate();
|
||||||
|
#endif /* INSURANCE */
|
||||||
done_a_checkpoint = TRUE;
|
done_a_checkpoint = TRUE;
|
||||||
} else
|
} else
|
||||||
#endif /* INSURANCE */
|
|
||||||
{
|
{
|
||||||
ReadConsoleInput(hConIn, ir, 1, count);
|
ReadConsoleInput(hConIn, ir, 1, count);
|
||||||
if (mode == 0) {
|
if (mode == 0) {
|
||||||
|
|||||||
Reference in New Issue
Block a user