extern int wiz_debug_cmd_traveldisplay(void);
#endif
extern boolean u_rooted(void);
+extern const char *u_locomotion(const char *);
extern void domove(void);
extern void runmode_delay_output(void);
extern void overexert_hp(void);
}
}
+const char *
+u_locomotion(const char *def)
+{
+ return Levitation ? "levitate"
+ : Flying ? "fly"
+ : locomotion(g.youmonst.data, def);
+}
+
/* Is it dangerous for hero to move to x,y due to water or lava? */
static boolean
swim_move_danger(xchar x, xchar y)
g.context.swim_tip = TRUE;
return FALSE;
} else if (ParanoidSwim) {
- You("avoid stepping into the %s.",
+ You("avoid %s into the %s.",
+ ing_suffix(u_locomotion("step")),
waterbody_name(x, y));
if (!g.context.swim_tip) {
pline("(Use '%s' prefix to step in if you really want to.)",
Strcpy(onoff, p);
*p = '\0';
}
- if (p >= &buf[3] && !index(vowel, *(p - 1))
+ if (p >= &buf[2] && !strcmpi(p - 2, "er")) { /* slither + ing */
+ /* nothing here */
+ } else if (p >= &buf[3] && !index(vowel, *(p - 1))
&& index(vowel, *(p - 2)) && !index(vowel, *(p - 3))) {
/* tip -> tipp + ing */
*p = *(p - 1);