From fbd986d031a82a57b463cc3a716a057b4e42508a Mon Sep 17 00:00:00 2001 From: cohrs Date: Sun, 30 Jun 2002 07:11:26 +0000 Subject: [PATCH] final attributes say riding when you die while dismounting Reported to the mailing list on 5/23. To fix this, u.usteed cannot simply be unset earlier, so I put a check for this special case into enlightenment(). --- doc/fixes34.1 | 1 + src/cmd.c | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/doc/fixes34.1 b/doc/fixes34.1 index 58cf0222a..14fa5185f 100644 --- a/doc/fixes34.1 +++ b/doc/fixes34.1 @@ -129,6 +129,7 @@ don't call DEBUG impossible in rn2 when a level 0 monster tries to cast a spell GOLDOBJ: don't call money2mon with 0 zero when killed by shopkeeper headstone writing was using the adjective "weird" when engraving with a wand of digging. +don't report "you were riding" if you die as a result of dismounting Platform- and/or Interface-Specific Fixes diff --git a/src/cmd.c b/src/cmd.c index d303a04da..65984ea33 100644 --- a/src/cmd.c +++ b/src/cmd.c @@ -916,7 +916,10 @@ int final; /* 0 => still in progress; 1 => over, survived; 2 => dead */ else if (Amphibious) you_can("breathe water"); if (Passes_walls) you_can("walk through walls"); #ifdef STEED - if (u.usteed) { + /* If you die while dismounting, u.usteed is still set. Since several + * places in the done() sequence depend on u.usteed, just detect this + * special case. */ + if (u.usteed && (final < 2 || strcmp(killer, "riding accident"))) { Sprintf(buf, "riding %s", y_monnam(u.usteed)); you_are(buf); } -- 2.40.0