fix #H6203 - jumping over water doesn't
Accidentally caused by my grappling hook fix 2 months ago, attempting to jump over water made hero enter that water and drown (or crawl out). hurtle_step() was originally intended to be used for recoil while levitating, but it is used in other situations where not levitating and behavior for the two circumstances should be different. This doesn't fix things properly, just gets jumping working again.
This commit is contained in:
@@ -536,11 +536,11 @@ E int FDECL(thitmonst, (struct monst *, struct obj *));
|
||||
E int FDECL(hero_breaks, (struct obj *, XCHAR_P, XCHAR_P, BOOLEAN_P));
|
||||
E int FDECL(breaks, (struct obj *, XCHAR_P, XCHAR_P));
|
||||
E void FDECL(release_camera_demon, (struct obj *, XCHAR_P, XCHAR_P));
|
||||
E void FDECL(breakobj,
|
||||
(struct obj *, XCHAR_P, XCHAR_P, BOOLEAN_P, BOOLEAN_P));
|
||||
E void FDECL(breakobj, (struct obj *, XCHAR_P, XCHAR_P, BOOLEAN_P, BOOLEAN_P));
|
||||
E boolean FDECL(breaktest, (struct obj *));
|
||||
E boolean FDECL(walk_path, (coord *, coord *,
|
||||
boolean (*)(genericptr, int, int), genericptr_t));
|
||||
E boolean FDECL(hurtle_jump, (genericptr_t, int, int));
|
||||
E boolean FDECL(hurtle_step, (genericptr_t, int, int));
|
||||
|
||||
/* ### drawing.c ### */
|
||||
|
||||
@@ -227,7 +227,8 @@
|
||||
&& !BFlying)
|
||||
/* May touch surface; does not override any others */
|
||||
|
||||
#define Wwalking (u.uprops[WWALKING].extrinsic && !Is_waterlevel(&u.uz))
|
||||
#define EWwalking u.uprops[WWALKING].extrinsic
|
||||
#define Wwalking (EWwalking && !Is_waterlevel(&u.uz))
|
||||
/* Don't get wet, can't go under water; overrides others except levitation */
|
||||
/* Wwalking is meaningless on water level */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user