address issue #1267 - hasted shopkeepers

Issue reported by ars3niy:  a hasted shopkeeper always gets 2 moves
per turn and had a tendency to move away from the door and then move
right back, keeping it blocked.

I didn't view the ttyrec and didn't reproduce the situation, but I
have noticed something of the sort in the past.  This reduces shk
speed so that there will usually be 2 moves per turn but not always,
increasing the likelihood of leaving the door unblocked when nearby
hero does not owe anything.

This change results in a slowed shopkeeper having speed dropped to 11
rather than 12.  I suspect that the original 18 speed might have been
picked to guarantee slowed speed of at least 12, but if so, that was
in the days when speed 11 would have provided 11 consecutive moves
and then a turn guaranteed to not allow a move rather than the current
11 out of 12 chance to move each turn.

Fixes #1267
This commit is contained in:
PatR
2024-08-17 19:02:20 -07:00
parent 3c3a061a38
commit 214e508890
2 changed files with 14 additions and 3 deletions

View File

@@ -1,4 +1,4 @@
NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.1461 $ $NHDT-Date: 1723833609 2024/08/16 18:40:09 $
NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.1464 $ $NHDT-Date: 1723945837 2024/08/18 01:50:37 $
General Fixes and Modified Features
-----------------------------------
@@ -1456,6 +1456,8 @@ the #terrain command didn't know how to cope with visible gas/cloud regions;
if/when a spot contains both region and trap, show the trap
region expiration reported "the gas cloud around you dissipates" even when the
hero was swallowed
reduce shopkeeper's innate speed from 18 to 16 so that a hasted shopkeeper
doesn't always get 2 moves per turn
Fixes to 3.7.0-x General Problems Exposed Via git Repository

View File

@@ -1,4 +1,4 @@
/* NetHack 3.7 monsters.h $NHDT-Date: 1705092146 2024/01/12 20:42:26 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.119 $ */
/* NetHack 3.7 monsters.h $NHDT-Date: 1723945838 2024/08/18 01:50:38 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.124 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Michael Allison, 2006. */
/* NetHack may be freely redistributed. See license for details. */
@@ -2693,8 +2693,17 @@
| M2_SHAPESHIFTER,
M3_INFRAVISIBLE,
11, HI_DOMESTIC, DOPPELGANGER),
/* 3.7: shopkeepers used to have speed 18, but if/when they were
hasted they always got 2 moves per turn and had a tendency to move
away from blocking the door and then move right back; since they
might start with a potion of speed and drink that as soon as the
hero gets close, once inside the shop the hero could have trouble
getting out again; also, being slowed still guaranteed one move
per turn; reduce their innate speed from 18 to 16 for a hasted
speed of 22 rather than 24 and slowed speed of 11 rather than 12;
they will still block the shop door, but not as tenaciously */
MON(NAM("shopkeeper"), S_HUMAN,
LVL(12, 18, 0, 50, 0), G_NOGEN,
LVL(12, 16, 0, 50, 0), G_NOGEN,
A(ATTK(AT_WEAP, AD_PHYS, 4, 4), ATTK(AT_WEAP, AD_PHYS, 4, 4),
NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK),
SIZ(WT_HUMAN, 400, MS_SELL, MZ_HUMAN), 0, 0,