fix [again] exploiting artifact name rejection

Reported by entrez:  attempting to name certain undiscovered items
after an artifact could be used to tell whether the item being named
was the same type as the artifact, so trying to name a gray stone
the Heart of Ahriman would let you tell whether it was a luckstone.
That was fixed years ago to reject for any undiscovered gray stone
rather than only for luckstone; you'll get "your hand slips" and the
name would be smudged.  But that fix allowed a loophole and could
still be exploited if the player used lowercase for the name:  it
would get changed to mixed capitalization if the object was the
artifact's type or stay lowercase if it only matched by description.

This changes to the capitalized name even when the type isn't an
exact match, so attempting to name either a luckstone or a touchstone
"the heart of ahriman" will name it "The Aeart of Xhriman" with at
least one smudged letter to avoid the actual artifact name.

Unrelated change:  when attempting to apply a new name to an existing
artifact, it now says "<Artifact> resists" rather than "The artifact
seems to resist" because there's no "seeming" about it.
This commit is contained in:
PatR
2022-06-21 08:57:58 -07:00
parent 8162de1a85
commit d886b43107
2 changed files with 24 additions and 8 deletions

View File

@@ -925,6 +925,9 @@ be less specific when cause of death is "handling a <ring or wand>" that
adjust the row placement of copyright and early startup messages so that
aren't partially overwritten by prompts that follow
ball and chain could be accessed after having been freed if bones were saved
early post-3.4.3 tried to fix the "naming artifacts trick" which could be used
to distinguish the type of some undiscovered items, but using a name
that only matched an artifact after capitalization was exploitable
Fixes to 3.7.0-x Problems that Were Exposed Via git Repository