From 094a9d81619b22218b7401dd5825132b12389561 Mon Sep 17 00:00:00 2001 From: PatR Date: Wed, 10 Jul 2019 16:15:11 -0700 Subject: [PATCH] fix github issue #204 - theft while in nymph form Fixes #204 3.6.2's attempts to fix turning off SEDUCE in 'sysconf' introduced an unintentional change in behavior for hero poly'd into nymph form: theft attack always angered the target. The actual change was intentional but its ramifications were unexpected. --- doc/fixes36.3 | 3 ++- src/mhitu.c | 8 ++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/doc/fixes36.3 b/doc/fixes36.3 index 751b2a4d0..80002d745 100644 --- a/doc/fixes36.3 +++ b/doc/fixes36.3 @@ -1,4 +1,4 @@ -$NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.90 $ $NHDT-Date: 1562723693 2019/07/10 01:54:53 $ +$NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.91 $ $NHDT-Date: 1562800503 2019/07/10 23:15:03 $ This fixes36.3 file is here to capture information about updates in the 3.6.x lineage following the release of 3.6.2 in May 2019. Please note, however, @@ -102,6 +102,7 @@ kicking an altar ignored god's wrath if hero injured himself during the kick detect unseen/secret door detection/^E failed to find monsters hiding under objects and failed to find monsters hiding at trap locations when farlook describes a monster at a visible spot as trapped, reveal the trap +fix theft when poly'd into nymph form; 3.6.2 change made that anger the victim Fixes to Post-3.6.2 Problems that Were Exposed Via git Repository diff --git a/src/mhitu.c b/src/mhitu.c index a175daeab..664955fb9 100644 --- a/src/mhitu.c +++ b/src/mhitu.c @@ -1,4 +1,4 @@ -/* NetHack 3.6 mhitu.c $NHDT-Date: 1556649298 2019/04/30 18:34:58 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.164 $ */ +/* NetHack 3.6 mhitu.c $NHDT-Date: 1562800504 2019/07/10 23:15:04 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.166 $ */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /*-Copyright (c) Robert Patrick Rankin, 2012. */ /* NetHack may be freely redistributed. See license for details. */ @@ -2408,9 +2408,13 @@ struct attack *mattk; /* non-Null: current attack; Null: general capability */ if (agrinvis && !defperc && adtyp == AD_SEDU) return 0; + /* nymphs have two attacks, one for steal-item damage and the other + for seduction, both pass the could_seduce() test; + incubi/succubi have three attacks, their claw attacks for damage + don't pass the test */ if ((pagr->mlet != S_NYMPH && pagr != &mons[PM_INCUBUS] && pagr != &mons[PM_SUCCUBUS]) - || (adtyp != AD_SEDU && adtyp != AD_SSEX)) + || (adtyp != AD_SEDU && adtyp != AD_SSEX && adtyp != AD_SITM)) return 0; return (genagr == 1 - gendef) ? 1 : (pagr->mlet == S_NYMPH) ? 2 : 0;