Affected both intrinsic and spell-based jumping.
hurtle_step now drags the ball.
vortexes and other unsolid monsters need not avoid webs
barbarian and samurai can achieve basic in their special spell's skill
scalpel and tsurugi can now split puddings; bashing with darts or arrows can't
+jumping while punished could leave ball and chain in the wrong place
Platform- and/or Interface-Specific Fixes
-/* NetHack 3.6 apply.c $NHDT-Date: 1452660177 2016/01/13 04:42:57 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.219 $ */
+/* NetHack 3.6 apply.c $NHDT-Date: 1455140802 2016/02/10 21:46:42 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.220 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/* NetHack may be freely redistributed. See license for details. */
if (range < temp)
range = temp;
(void) walk_path(&uc, &cc, hurtle_step, (genericptr_t) &range);
- teleds(cc.x, cc.y, TRUE);
+ /* hurtle_step results in (u.ux, u.uy) == (cc.x, cc.y) and usually
+ * moves the ball if punished, but does not handle all the effects
+ * of landing on the final position.
+ */
+ teleds(cc.x, cc.y, FALSE);
sokoban_guilt();
nomul(-1);
multi_reason = "jumping around";
-/* NetHack 3.6 dothrow.c $NHDT-Date: 1446975465 2015/11/08 09:37:45 $ $NHDT-Branch: master $:$NHDT-Revision: 1.113 $ */
+/* NetHack 3.6 dothrow.c $NHDT-Date: 1455140444 2016/02/10 21:40:44 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.118 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/* NetHack may be freely redistributed. See license for details. */
}
}
+ /* Caller has already determined that dragging the ball is allowed */
+ if (Punished && uball->where == OBJ_FLOOR) {
+ int bc_control;
+ xchar ballx, bally, chainx, chainy;
+ boolean cause_delay;
+
+ if (drag_ball(x, y, &bc_control, &ballx, &bally, &chainx,
+ &chainy, &cause_delay, TRUE))
+ move_bc(0, bc_control, ballx, bally, chainx, chainy);
+ }
+
ox = u.ux;
oy = u.uy;
u_on_newpos(x, y); /* set u.<ux,uy>, u.usteed-><mx,my>; cliparound(); */
-/* NetHack 3.6 teleport.c $NHDT-Date: 1446887535 2015/11/07 09:12:15 $ $NHDT-Branch: master $:$NHDT-Revision: 1.62 $ */
+/* NetHack 3.6 teleport.c $NHDT-Date: 1455140444 2016/02/10 21:40:44 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.66 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/* NetHack may be freely redistributed. See license for details. */
/* unearth it */
buried_ball_to_punishment();
}
- ball_active = (Punished && uball->where != OBJ_FREE),
+ ball_active = (Punished && uball->where != OBJ_FREE);
ball_still_in_range = FALSE;
/* If they have to move the ball, then drag if allow_drag is true;