fix recent Wounded_legs fix

Wounded_legs was changed from (HWounded_legs || EWounded_legs) to
just (HWounded_legs), but when the timeout code decremented the timer
to 0, HWounded_legs became 0 and heal_legs() operated as if there was
nothing to repair and hero didn't recover from temporarily lost Dex.
Change Wounded_legs back to (HWounded_legs || EWounded_legs).
This commit is contained in:
PatR
2022-01-11 10:25:50 -08:00
parent 1069777bc6
commit ffeb0e27a8
3 changed files with 8 additions and 3 deletions
+3
View File
@@ -958,6 +958,9 @@ after changes to gender tracking for corpses and statues, when a unique
rather than 'historic' rather than 'historic'
changing engraving to an occupation resulted in not dulling a weapon used to changing engraving to an occupation resulted in not dulling a weapon used to
engrave a single character engrave a single character
a change to wounded legs handling resulted in not recovering lost dexterity
or receiving the "leg(s) feel better" message if wound time expired
rather than having legs be explicitly healed
curses: 'msg_window' option wasn't functional for curses unless the binary curses: 'msg_window' option wasn't functional for curses unless the binary
also included tty support also included tty support
+3 -2
View File
@@ -123,10 +123,11 @@
/* HWounded_legs indicates whether wounded leg(s) condition exists and /* HWounded_legs indicates whether wounded leg(s) condition exists and
holds the timeout for recovery; EWounded_legs uses the worn-ring bits holds the timeout for recovery; EWounded_legs uses the worn-ring bits
to track left vs right vs both and is meaningless when HWounded_legs to track left vs right vs both and is meaningless when HWounded_legs
is zero; both values apply to steed rather than to hero when riding */ is zero except when timeout has just decremented that to 0 and calls
heal_legs(); both values apply to steed rather than to hero when riding */
#define HWounded_legs u.uprops[WOUNDED_LEGS].intrinsic #define HWounded_legs u.uprops[WOUNDED_LEGS].intrinsic
#define EWounded_legs u.uprops[WOUNDED_LEGS].extrinsic #define EWounded_legs u.uprops[WOUNDED_LEGS].extrinsic
#define Wounded_legs (HWounded_legs) /* (don't include EWounded_legs here) */ #define Wounded_legs (HWounded_legs || EWounded_legs)
#define HSleepy u.uprops[SLEEPY].intrinsic #define HSleepy u.uprops[SLEEPY].intrinsic
#define ESleepy u.uprops[SLEEPY].extrinsic #define ESleepy u.uprops[SLEEPY].extrinsic
+2 -1
View File
@@ -2266,7 +2266,8 @@ fpostfx(struct obj *otmp)
heal_legs(0); heal_legs(0);
break; break;
case EGG: case EGG:
if (otmp->corpsenm >= LOW_PM && flesh_petrifies(&mons[otmp->corpsenm])) { if (otmp->corpsenm >= LOW_PM
&& flesh_petrifies(&mons[otmp->corpsenm])) {
if (!Stone_resistance if (!Stone_resistance
&& !(poly_when_stoned(g.youmonst.data) && !(poly_when_stoned(g.youmonst.data)
&& polymon(PM_STONE_GOLEM))) { && polymon(PM_STONE_GOLEM))) {