steed, stethoscope, and a vortex
<email deleted> wrote in rgrn: > Using a stethoscope while inside a monster (air elemental, vortex) > and while riding a steed will not let you use the stethoscope > on your steed. You'll only get the engulfer-monster's stats > instead of your steeds. Fix the reported but that prevented stethoscope application to your steed while engulfed. While the inability to apply your stethoscope to your steed while engulfed was a code oversight, I think it's a feature that your ability to use the stethoscope is impacted in the midst of a swirling, noisy vortex. Make it deliberate with a two-in-3 chance of avoiding the interference (nine-in-10 chance if you're a healer who is much more skilled at using a stethoscope).
This commit is contained in:
@@ -109,6 +109,8 @@ only charge for eating one stacked tin, not all at once
|
|||||||
add flag to makemon() to allow monster to be created adjacent to the supplied
|
add flag to makemon() to allow monster to be created adjacent to the supplied
|
||||||
coordinates if there is already a monster at the target location
|
coordinates if there is already a monster at the target location
|
||||||
stone-to-flesh of spot with multiple statues can animate more than one
|
stone-to-flesh of spot with multiple statues can animate more than one
|
||||||
|
use of stethoscope now deliberately impacted when hero is engulfed by whirly
|
||||||
|
monster but fixed so it can sometimes work on your steed there too
|
||||||
|
|
||||||
|
|
||||||
Platform- and/or Interface-Specific Fixes
|
Platform- and/or Interface-Specific Fixes
|
||||||
|
|||||||
+15
-4
@@ -209,6 +209,8 @@ use_stethoscope(obj)
|
|||||||
struct monst *mtmp;
|
struct monst *mtmp;
|
||||||
struct rm *lev;
|
struct rm *lev;
|
||||||
int rx, ry, res;
|
int rx, ry, res;
|
||||||
|
boolean interference = (u.uswallow && is_whirly(u.ustuck->data) &&
|
||||||
|
!rn2(Role_if(PM_HEALER) ? 10 : 3));
|
||||||
|
|
||||||
if (nohands(youmonst.data)) { /* should also check for no ears and/or deaf */
|
if (nohands(youmonst.data)) { /* should also check for no ears and/or deaf */
|
||||||
You("have no hands!"); /* not `body_part(HAND)' */
|
You("have no hands!"); /* not `body_part(HAND)' */
|
||||||
@@ -224,14 +226,23 @@ use_stethoscope(obj)
|
|||||||
last_used_move = moves;
|
last_used_move = moves;
|
||||||
last_used_movement = youmonst.movement;
|
last_used_movement = youmonst.movement;
|
||||||
|
|
||||||
|
#ifdef STEED
|
||||||
|
if (u.usteed && u.dz > 0) {
|
||||||
|
if (interference) {
|
||||||
|
pline("%s interferes.", Monnam(u.ustuck));
|
||||||
|
mstatusline(u.ustuck);
|
||||||
|
} else
|
||||||
|
mstatusline(u.usteed);
|
||||||
|
return res;
|
||||||
|
} else
|
||||||
|
#endif
|
||||||
if (u.uswallow && (u.dx || u.dy || u.dz)) {
|
if (u.uswallow && (u.dx || u.dy || u.dz)) {
|
||||||
mstatusline(u.ustuck);
|
mstatusline(u.ustuck);
|
||||||
return res;
|
return res;
|
||||||
#ifdef STEED
|
} else if (u.uswallow && interference) {
|
||||||
} else if (u.usteed && u.dz > 0) {
|
pline("%s interferes.", Monnam(u.ustuck));
|
||||||
mstatusline(u.usteed);
|
mstatusline(u.ustuck);
|
||||||
return res;
|
return res;
|
||||||
#endif
|
|
||||||
} else if (u.dz) {
|
} else if (u.dz) {
|
||||||
if (Underwater)
|
if (Underwater)
|
||||||
You_hear("faint splashing.");
|
You_hear("faint splashing.");
|
||||||
|
|||||||
Reference in New Issue
Block a user