From fa8efb15fb533bddbe195ea6009704fe973bba54 Mon Sep 17 00:00:00 2001 From: nhmall Date: Fri, 24 May 2019 22:36:21 -0400 Subject: [PATCH 1/2] vortex database update Reported: "The data.base entry for "vortex" is erronous, as fire and energy vortices have passive attacks (which count as "touching")" --- dat/data.base | 9 ++++----- doc/fixes36.3 | 1 + 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/dat/data.base b/dat/data.base index 4a964c905..f098dd7c7 100644 --- a/dat/data.base +++ b/dat/data.base @@ -5374,11 +5374,10 @@ vlad* *vortex vortices Swirling clouds of pure elemental energies, the vortices are - thought to be related to the larger elementals. Though the - vortices do no damage when touched, they are noted for being - able to envelop unwary travellers. The hapless fool thus - swallowed by a vortex will soon perish from exposure to the - element the vortex is composed of. + thought to be related to the larger elementals. They are + noted for being able to envelop unwary travellers. The + hapless fool thus swallowed by a vortex will soon perish from + exposure to the element the vortex is composed of. vrock The vrock is one of the weaker forms of demon. It resembles a cross between a human being and a vulture and does physical diff --git a/doc/fixes36.3 b/doc/fixes36.3 index 5ff4a1850..d678bf72e 100644 --- a/doc/fixes36.3 +++ b/doc/fixes36.3 @@ -18,6 +18,7 @@ glob pricing did not consider weight properly glob shop interaction improved to handle more of the expected scenarios non-flying steed on Plane of Water would drown when air bubble moved hero xans fly, but could not reach your feet if you flew +adjust vortex database entry to be consistent with fire and energy vortices Fixes to Post-3.6.2 Problems that Were Exposed Via git Repository From 9361a9153bad41607f6508ab10da84535b9dbb83 Mon Sep 17 00:00:00 2001 From: nhmall Date: Sat, 25 May 2019 00:33:47 -0400 Subject: [PATCH 2/2] swap places with pet onto boulder location when co-located with a boulder you could sometimes swap places with pets of any size bg72 --- doc/fixes36.3 | 2 ++ src/hack.c | 14 ++++++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/doc/fixes36.3 b/doc/fixes36.3 index d678bf72e..28564e3da 100644 --- a/doc/fixes36.3 +++ b/doc/fixes36.3 @@ -19,6 +19,8 @@ glob shop interaction improved to handle more of the expected scenarios non-flying steed on Plane of Water would drown when air bubble moved hero xans fly, but could not reach your feet if you flew adjust vortex database entry to be consistent with fire and energy vortices +when co-located with a boulder you could sometimes swap places with pets of + any size Fixes to Post-3.6.2 Problems that Were Exposed Via git Repository diff --git a/src/hack.c b/src/hack.c index d84dd353d..a4385673a 100644 --- a/src/hack.c +++ b/src/hack.c @@ -1354,7 +1354,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 (context.travel) { if (!findtravelpath(FALSE)) @@ -1781,7 +1782,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 */