Merge branch 'NetHack-3.6'
This commit is contained in:
14
src/hack.c
14
src/hack.c
@@ -1352,7 +1352,8 @@ domove_core()
|
||||
xchar chainx = 0, chainy = 0,
|
||||
ballx = 0, bally = 0; /* ball&chain new positions */
|
||||
int bc_control = 0; /* control for ball&chain */
|
||||
boolean cause_delay = FALSE; /* dragging ball will skip a move */
|
||||
boolean cause_delay = FALSE, /* dragging ball will skip a move */
|
||||
u_with_boulder = (sobj_at(BOULDER, u.ux, u.uy) != 0);
|
||||
|
||||
if (g.context.travel) {
|
||||
if (!findtravelpath(FALSE))
|
||||
@@ -1779,7 +1780,16 @@ domove_core()
|
||||
if (u.usteed)
|
||||
u.usteed->mx = u.ux, u.usteed->my = u.uy;
|
||||
You("stop. %s can't move diagonally.", upstart(y_monnam(mtmp)));
|
||||
} else if (u.ux0 != x && u.uy0 != y && bad_rock(mtmp->data, x, u.uy0)
|
||||
} else if (u_with_boulder
|
||||
&& !(verysmall(mtmp->data)
|
||||
&& (!mtmp->minvent || (curr_mon_load(mtmp) <= 600)))) {
|
||||
/* can't swap places when pet won't fit there with the boulder */
|
||||
u.ux = u.ux0, u.uy = u.uy0; /* didn't move after all */
|
||||
if (u.usteed)
|
||||
u.usteed->mx = u.ux, u.usteed->my = u.uy;
|
||||
You("stop. %s won't fit into the same spot that you're at.",
|
||||
upstart(y_monnam(mtmp)));
|
||||
} else if (u.ux0 != x && u.uy0 != y && bad_rock(mtmp->data, x, u.uy0)
|
||||
&& bad_rock(mtmp->data, u.ux0, y)
|
||||
&& (bigmonst(mtmp->data) || (curr_mon_load(mtmp) > 600))) {
|
||||
/* can't swap places when pet won't fit thru the opening */
|
||||
|
||||
Reference in New Issue
Block a user