fix #K797 - wrong message when stealing as nymph

When polymorphed into a nymph and melee hit steals items from the
target, the same-gender charm message vs opposite-gender seduce
message is being chosen by hero's base gender rather than nymphs
always being female.  The seduce message used dynamic pronouns for
the target monster but the charm message used hardcoded She and her
for female nymph attacking female target.  I'm not sure why hero's
base gender is used so left that alone; this changes charm message
to use dynamic pronouns that correctly match the target monster.
This commit is contained in:
PatR
2020-04-13 12:58:54 -07:00
parent 71754910db
commit 124d39f4c5
2 changed files with 16 additions and 5 deletions

View File

@@ -1,4 +1,4 @@
$NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.175 $ $NHDT-Date: 1586633039 2020/04/11 19:23:59 $
$NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.179 $ $NHDT-Date: 1586807928 2020/04/13 19:58:48 $
General Fixes and Modified Features
-----------------------------------
@@ -129,6 +129,10 @@ revival via undead turning of corpse carried by hero said "your <mon> corpse
prevent searching or waiting next to a hostile monster - override with 'm'
allow random mimics to show up mimicing more furniture than just stairs
scatter exploding bag of holding contents instead of outright deleting them
male hero poly'd into nymph chooses charm vs seduce message based on being
male rather than on all nymphs being female but charm message was
using hardcoded pronouns She,her for target monster--wrong for male
target and noticable if "<mon> finishes taking off his suit" is given
Fixes to 3.7.0-x Problems that Were Exposed Via git Repository

View File

@@ -1,4 +1,4 @@
/* NetHack 3.6 uhitm.c $NHDT-Date: 1584405117 2020/03/17 00:31:57 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.228 $ */
/* NetHack 3.6 uhitm.c $NHDT-Date: 1586807928 2020/04/13 19:58:48 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.230 $ */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Robert Patrick Rankin, 2012. */
/* NetHack may be freely redistributed. See license for details. */
@@ -1546,9 +1546,16 @@ struct attack *mattk;
gold = findgold(mdef->minvent);
if (stealoid) { /* we will be taking everything */
if (gender(mdef) == (int) u.mfemale && g.youmonst.data->mlet == S_NYMPH)
You("charm %s. She gladly hands over %sher possessions.",
mon_nam(mdef), !gold ? "" : "most of ");
char heshe[20];
/* 3.7: this uses hero's base gender rather than nymph feminimity
but was using hardcoded pronouns She/her for target monster;
switch to dynamic pronoun */
if (gender(mdef) == (int) u.mfemale
&& g.youmonst.data->mlet == S_NYMPH)
You("charm %s. %s gladly hands over %s%s possessions.",
mon_nam(mdef), upstart(strcpy(heshe, mhe(mdef))),
!gold ? "" : "most of ", mhis(mdef));
else
You("seduce %s and %s starts to take off %s clothes.",
mon_nam(mdef), mhe(mdef), mhis(mdef));